¿Qué es la Herencia y Sobrescritura en Programación?
Índice 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
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
También podemos agregar nuevos atributos y métodos a las subclases, y estas nuevas características, no afectarán a la clase padre.
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.
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:
En lugar de eso, podemos crear una clase padre para crear animales
Y después podemos crear las subclases gato y perro
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
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
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
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
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.