¿Qué es la Herencia y Sobrescritura en Programación?

¿Qué es la Herencia y Sobrescritura en Programación?

Índice
  1. ¿Qué es la herencia en programación?
  2. Ventajas de usar la herencia en programación
    1. LA JERARQUIZACIÓN
    2. LA REUTILIZACIÓN DE CÓDIGO
    3. AHORRAR TIEMPO
  3. Sobrescribir métodos en la herencia
  4. Video sobre ¿Qué es la Herencia y Sobrescritura en Programación?

¿Qué es la herencia en programación?

La herencia en programación es un mecanismo que permite que una clase adquiera propiedades y métodos de otra clase existente.

Ejemplo de herencia en programación

Como puedes ver en este ejemplo, se pueden crear una o varias clases a partir de una clase que ya existe

Ejemplo de herencia en programación
Ejemplo de herencia en programación

La clase principal es conocida como, clase primaria, clase padre o superclase

Y las clases que se crean a partir de una clase padre, son conocidas como subclases

Además, las subclases contienen los atributos y métodos de la clase padre.

Y como estamos heredando de la clase padre, ya no es necesario escribir sus atributos y sus métodos en las subclases.

Así que nuestras subclases se verían de la siguiente forma

Ejemplo de herencia en programación 2
Ejemplo de herencia en programación 2

También podemos agregar nuevos atributos y métodos a las subclases, y estas nuevas características, no afectarán a la clase padre.

Ejemplo de herencia en programación 3
Ejemplo de herencia en programación 3

Ventajas de usar la herencia en programación

Ahora veremos algunas de las ventajas más importantes que obtenemos al usar la herencia

LA JERARQUIZACIÓN

La herencia hace posible crear jerarquías, que representan la relación ordenada de las clases que están relacionadas.

Ejemplo de la jerarquización en programación
Ejemplo de la jerarquización en programación

LA REUTILIZACIÓN DE CÓDIGO

La herencia permite aprovechar el código existente de una clase base al heredar sus atributos y métodos.

Esto evita la necesidad de duplicar código similar en múltiples clases.

Como pudiste ver en el ejemplo anterior, ya no necesitamos crear 3 clases si todas ellas tienen alguna relación como en este ejemplo:

Ejemplo de La Reutilización De Código
Ejemplo de La Reutilización De Código

En lugar de eso, podemos crear una clase padre para crear animales

Y después podemos crear las subclases gato y perro

Ejemplo de La Reutilización De Código 2
Ejemplo de La Reutilización De Código 2

De esta manera, estamos reutilizando código

AHORRAR TIEMPO

Como pudiste notar, al evitar código duplicado podemos ahorrar tiempo

Ya que nuestro código será más fácil de leer y, por lo tanto, será más fácil darle mantenimiento.

Sobrescribir métodos en la herencia

Ahora veremos un ejemplo de como Sobrescribir métodos en la herencia

Si creamos una clase jugador y una clase enemigo, podemos notar que usan los mismos atributos y métodos

Ejemplo de como Sobrescribir métodos en la herencia
Ejemplo de como Sobrescribir métodos en la herencia

Así que podemos crear una clase padre, que se llame personaje

Y después podemos hacer que la clase enemigo y la clase jugador hereden de la clase personaje

Ejemplo de como Sobrescribir métodos en la herencia 2
Ejemplo de como Sobrescribir métodos en la herencia 2

Pero como podrás notar, un jugador y un enemigo tienen movimientos diferentes

Por ejemplo, un jugador se podría mover en 4 direcciones por defecto, y un enemigo solo se podría mover de izquierda a derecha.

Para solucionarlo, podríamos crear nuevos métodos para que se muevan de distinta manera

Ejemplo de como Sobrescribir métodos en la herencia 3
Ejemplo de como Sobrescribir métodos en la herencia 3

Pero ahora necesitaríamos usar una sentencia if, para detectar que tipo de clase estamos usando

Y el método default_move(), ya no nos serviría, así que estaríamos usando código innecesario

Así que en lugar de eso, debemos sobrescribir el método default_move() en cada subclase

Ejemplo de como Sobrescribir métodos en la herencia 4
Ejemplo de como Sobrescribir métodos en la herencia 4

Hacerlo es sencillo, solo tenemos que copiar el método "default_move()" a la subclase que deseamos modificar

Y después podemos agregar nuestro código, dentro de ese método

De esta manera, se va a ignorar el método de la clase padre, y se va a usar el código del método de la subclase

De esta manera, se va a ignorar el método de la clase padre, y se va a ejecutar el código que se encuentra en el método de la subclase.

Como puedes ver, la sobrescritura de métodos en la herencia es muy fácil de usar.

Video sobre ¿Qué es la Herencia y Sobrescritura en Programación?

S aún no lo entiendes bien puedes ver el siguiente video o puedes aprender más sobre programación de GDScript y Godot con los siguientes tutoriales pulsando este enlace.

Continúa viendo el Curso GDScript Para Godot 4

Comentarios sobre ¿Qué es la Herencia y Sobrescritura en Programación?

Subir