🧩 Conceptos básicos de POO en Mojo

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 var y let para 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.