AD

¿Ya dominas lo básico? Un curso estructurado de Julia es la vía rápida para dar el salto.

Ver cursos de Julia en Udemy

Enlace de afiliado. No te cuesta nada extra.

🟣Lecciones de Julia
Lección 16 / 68

Construir una jerarquía con tipos abstractos

En esta lección organizarás varios tipos bajo un tipo común.

abstract type Animal end declara un tipo que no se puede instanciar: solo sirve para agrupar. struct Dog <: Animal declara que Dog es uno de ellos.

El código de ejemplo define esa jerarquía y una función para el tipo concreto.

Aquí hay una diferencia importante con la herencia de otros lenguajes: en Julia solo se heredan los tipos abstractos, nunca los campos. Un struct no puede heredar de otro struct. Si dos tipos comparten campos, hay que repetirlos o componerlos.

Al principio parece una limitación y responde a una decisión clara: la jerarquía sirve para el despacho —para decir «esta función vale para cualquier Animal»— y no para reutilizar datos. Compartir comportamiento sí funciona: una función definida para Animal se aplica a todos sus subtipos, y cada uno puede tener su versión más específica.

El árbol de tipos de Julia empieza en Any y organiza todo lo numérico —Integer, AbstractFloat— de la misma forma. Escribir una función para Number significa que valdrá para enteros, decimales, racionales y complejos a la vez.

📖 Código de referencia
✍️ Tu código
Escribe tu código y pulsa «Ejecutar»

🧪 Este sitio no puede compilar ni ejecutar Julia directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).

Espacio publicitario (banner)
Espacio publicitario (en el artículo)