Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Principios de la POO: Herencia | OOP
course content

Contenido del Curso

Java OOP

Principios de la POO: HerenciaPrincipios de la POO: Herencia

Herencia

Hablemos sobre el principio de la POO - Herencia.

La Herencia es un mecanismo que permite la creación de clases basadas en otra clase.

  • La clase que sirve como base se llama padre o superclase.
  • La clase creada en base a la clase padre se llama hijo, subclase o descendiente.

Por lo tanto, la clase hijo puede heredar las características y propiedades de otra clase - la clase padre (sus métodos y variables).

Puedes heredar una clase usando la palabra clave extends. La sintaxis para una clase hijo que hereda de una clase padre se ve así:

java

Child.java

Let's take a look at an example of how inheritance works in code. We have a class Bird with certain fields and methods, and there is a class Parrot with its own fields and methods. A parrot is a bird, so logically, the parrot should inherit from the Bird class:

Image 1
Image 2
Image 3

Entendamos qué está ocurriendo en estas imágenes:

  1. Creamos una clase Bird, que es la clase padre en nuestro caso. Esta clase tiene sus propios campos y métodos;
  2. Creamos una clase Parrot, que utiliza la palabra clave extends para heredar de la clase padre Bird. La clase Parrot es una clase hija y tiene sus propios campos y métodos. Además, como clase hija, Parrot hereda todos los campos y métodos de la clase padre Bird;
  3. Creamos un objeto de la clase Parrot en el método main y vemos que podemos inicializar los campos de ambas clases, la padre y la hija. Primero, inicializamos los campos de la clase padre Bird, y luego inicializamos los campos de la clase hija Parrot. A continuación, llamamos a los métodos: primero, los métodos de la clase padre y luego el método de la clase hija.

Así, hemos utilizado la herencia para heredar la clase Bird.

¿Por qué hacemos esto?

Cuando tenemos muchas subclases de Bird diferentes, no solo Parrot, por ejemplo, también hay Pigeon y Penguin. En ese caso, tendremos muchos campos duplicados, como boolean canFly. La primera ayuda que ofrece la herencia es evitar fragmentos de código duplicados. Además, mejora significativamente la legibilidad. En la práctica, rara vez se encuentran directamente la clase Bird y sus subclases, pero la herencia se utiliza comúnmente, especialmente con interfaces.

Nota

Aprenderás sobre interfaces en la siguiente sección de este curso.

Reglas de herencia

  • Heredar solo una clase. Java no admite herencia múltiple. Una clase solo puede tener un padre.

Nota

¡No puedes heredar de ti mismo!

  • Todo se hereda excepto las variables y métodos private.

Anteriormente, mencioné que una subclase tendría acceso a todas las variables y métodos de la clase padre. Sin embargo, eso no es completamente cierto.

En realidad, todos los métodos y variables marcados con el modificador private no son accesibles para la subclase.

  • Sobrescribir el método de la clase padre.

Imaginemos que heredamos una clase, pero hay ciertas partes del código heredado que no nos gustan. Supongamos que queremos que un método específico funcione de manera diferente a como lo hace en la clase padre.

Para sobrescribir un método de la clase padre, escribimos @Override sobre él:

java

Parrot.java

En el código anterior, hemos sobrescrito el método de la clase padre, y ahora cuando este método se llama desde la clase hija, ¡el método sobrescrito será invocado!

  • Previniendo la Herencia.

Si no quieres que nadie herede tu clase, utiliza el modificador final antes de ella. Por ejemplo:

java

Bird.java

java

Parrot.java

De esta forma, al utilizar la palabra clave final, hemos prohibido la herencia de la clase Bird.

Estas son solo las reglas fundamentales y características de la herencia. Es un tema amplio, y lo usarás con mucha frecuencia. A lo largo del curso, te familiarizarás con otros aspectos de la herencia y los utilizarás con mayor frecuencia.

1. ¿De cuántas clases podemos heredar a la vez?
2. ¿Cómo evitar la herencia en Java?
3. ¿Cómo podemos prevenir la herencia en Java?

¿De cuántas clases podemos heredar a la vez?

Selecciona la respuesta correcta

¿Cómo evitar la herencia en Java?

Selecciona la respuesta correcta

¿Cómo podemos prevenir la herencia en Java?

Selecciona la respuesta correcta

¿Todo estuvo claro?

Sección 2. Capítulo 2
course content

Contenido del Curso

Java OOP

Principios de la POO: HerenciaPrincipios de la POO: Herencia

Herencia

Hablemos sobre el principio de la POO - Herencia.

La Herencia es un mecanismo que permite la creación de clases basadas en otra clase.

  • La clase que sirve como base se llama padre o superclase.
  • La clase creada en base a la clase padre se llama hijo, subclase o descendiente.

Por lo tanto, la clase hijo puede heredar las características y propiedades de otra clase - la clase padre (sus métodos y variables).

Puedes heredar una clase usando la palabra clave extends. La sintaxis para una clase hijo que hereda de una clase padre se ve así:

java

Child.java

Let's take a look at an example of how inheritance works in code. We have a class Bird with certain fields and methods, and there is a class Parrot with its own fields and methods. A parrot is a bird, so logically, the parrot should inherit from the Bird class:

Image 1
Image 2
Image 3

Entendamos qué está ocurriendo en estas imágenes:

  1. Creamos una clase Bird, que es la clase padre en nuestro caso. Esta clase tiene sus propios campos y métodos;
  2. Creamos una clase Parrot, que utiliza la palabra clave extends para heredar de la clase padre Bird. La clase Parrot es una clase hija y tiene sus propios campos y métodos. Además, como clase hija, Parrot hereda todos los campos y métodos de la clase padre Bird;
  3. Creamos un objeto de la clase Parrot en el método main y vemos que podemos inicializar los campos de ambas clases, la padre y la hija. Primero, inicializamos los campos de la clase padre Bird, y luego inicializamos los campos de la clase hija Parrot. A continuación, llamamos a los métodos: primero, los métodos de la clase padre y luego el método de la clase hija.

Así, hemos utilizado la herencia para heredar la clase Bird.

¿Por qué hacemos esto?

Cuando tenemos muchas subclases de Bird diferentes, no solo Parrot, por ejemplo, también hay Pigeon y Penguin. En ese caso, tendremos muchos campos duplicados, como boolean canFly. La primera ayuda que ofrece la herencia es evitar fragmentos de código duplicados. Además, mejora significativamente la legibilidad. En la práctica, rara vez se encuentran directamente la clase Bird y sus subclases, pero la herencia se utiliza comúnmente, especialmente con interfaces.

Nota

Aprenderás sobre interfaces en la siguiente sección de este curso.

Reglas de herencia

  • Heredar solo una clase. Java no admite herencia múltiple. Una clase solo puede tener un padre.

Nota

¡No puedes heredar de ti mismo!

  • Todo se hereda excepto las variables y métodos private.

Anteriormente, mencioné que una subclase tendría acceso a todas las variables y métodos de la clase padre. Sin embargo, eso no es completamente cierto.

En realidad, todos los métodos y variables marcados con el modificador private no son accesibles para la subclase.

  • Sobrescribir el método de la clase padre.

Imaginemos que heredamos una clase, pero hay ciertas partes del código heredado que no nos gustan. Supongamos que queremos que un método específico funcione de manera diferente a como lo hace en la clase padre.

Para sobrescribir un método de la clase padre, escribimos @Override sobre él:

java

Parrot.java

En el código anterior, hemos sobrescrito el método de la clase padre, y ahora cuando este método se llama desde la clase hija, ¡el método sobrescrito será invocado!

  • Previniendo la Herencia.

Si no quieres que nadie herede tu clase, utiliza el modificador final antes de ella. Por ejemplo:

java

Bird.java

java

Parrot.java

De esta forma, al utilizar la palabra clave final, hemos prohibido la herencia de la clase Bird.

Estas son solo las reglas fundamentales y características de la herencia. Es un tema amplio, y lo usarás con mucha frecuencia. A lo largo del curso, te familiarizarás con otros aspectos de la herencia y los utilizarás con mayor frecuencia.

1. ¿De cuántas clases podemos heredar a la vez?
2. ¿Cómo evitar la herencia en Java?
3. ¿Cómo podemos prevenir la herencia en Java?

¿De cuántas clases podemos heredar a la vez?

Selecciona la respuesta correcta

¿Cómo evitar la herencia en Java?

Selecciona la respuesta correcta

¿Cómo podemos prevenir la herencia en Java?

Selecciona la respuesta correcta

¿Todo estuvo claro?

Sección 2. Capítulo 2
some-alt