Mojo combina la sintaxis de Python con optimizaciones de bajo nivel. La POO en Mojo sigue principios similares a Python, pero con algunas diferencias importantes:
- Clases: Se definen con
class. - Métodos: Se definen dentro de la clase, usando
def. - Constructores: Se usan con
__init__. - Atributos: Se declaran en el constructor o directamente en la clase.
- Tipado: Mojo favorece el tipado estático para rendimiento, aunque admite dinámico.
📌 Ejemplo sencillo: Clase Calculadora
class Calculadora:
- var resultado: Int
def __init__(self): self.resultado = 0 def sumar(self, a: Int, b: Int) -> Int: self.resultado = a + b return self.resultado def restar(self, a: Int, b: Int) -> Int: self.resultado = a - b return self.resultado def mostrar(self) -> None: print("Resultado actual:", self.resultado)
Uso:
let calc = Calculadora()
print(calc.sumar(5, 3)) # 8
print(calc.restar(10, 4)) # 6
calc.mostrar() # Resultado actual: 6
🚀 Diferencias clave con Python
- Mojo exige tipos explícitos (
Int,Float, etc.) para mayor rendimiento. - Usa
varyletpara declarar variables:var→ mutable.let→ inmutable.
- La POO se siente muy similar a Python, pero con un enfoque más cercano a C++ en cuanto a eficiencia.
