Cómo Programar en Java

Curso de Java 13 : Herencia

14 videos

1h 20m

1.5Gb

Qué es la herencia

Una vez visto los objetos, vamos a ver lo qué es la herencia. La herencia consiste en crear objetos que tengan las mismas características de los objetos padres, más otras diferentes. Es igual a lo que sucede a la vida real, así que por ejemplo, me he creado la clase tren y este tren tiene maquinista, tiene antigüedad, tiene vagones con sus pasajeros, quizás si yo ahora creo un tren de lujo tenga un bar, un camarero, entonces ¿Qué hago? ¿Tengo que crear otra vez, todas las características de los trenes porque el tren de lujo, también tiene maquinista, vagones y también tiene antigüedad? Y ¿tengo que crearme dos clase diferentes? La respuesta es No! Simplemente me creo la clase tren y luego, la clase lujo que recibe todo lo del tren, más lo que tenga extra. Eso es la herencia. Para ahorrarnos la repetición de código que es común, más bien se hereda uno de otro, para recibir las mismas propiedades y los mismos métodos, todo eso se hereda de la clase padre, así que vamos a hacer eso en un ejemplo prático.

Cómo usar la herencia en Java

Vamos a crearnos aquí una clase , aquí le pongo la clase “lujo”, y en esta clase vamos a decir que tiene que heredar todo lo tren, ¿Cómo hago eso?... pongo aquí: “extends tren”, extiende de tren. Y aquí en lujo le damos sus características propias. También, por ejemplo vamos a crear un String con el nombre del camarero, y vamos a crearnos una variable Boolean donde vamos a poner si el bar está abierto o cerrado.

¿Qué significa esto? Que de nuevo aquí me creo el constructor, de la clase lujo, así que le voy a poner el public lujo y vamos a decirle que si no se da ningún dato, que el camarero sea anónimo y que el bar esté cerrado. O también lo que podemos hacer es crearnos un constructor donde aquí le pasemos los datos, este va a recibir un String con el nombre del camarero y va a recibir una Boolean con el estado del bar.

Ahora me voy a crear otro tren, pero que este sea de lujo, va a ser el tercer tren y aquí le pongo "new lujo". Y lo mismo que yo puedo hacer de las características de tren normal, del lujo también puedo hacer las características anteriores del tren porque las hereda, de modo que yo ahora, por ejemplo puedo consultar la capacidad que va a tener ese tren ¿ven? Y yo aquí igualmente, le puedo meter pasajeros, aquí al tercero, también le puedo meter pasajeros, porque todos los métodos de la clase padre tren los heredan. Porque las mismas funciones que hemos creado para la clase padre, han sido heredadas, por el hijo, más aparte las propias que pueda tener, yo aquí, puedo crear una clase propia que diga: “statusbar”, estado del bar, y aquí le vamos a pasar una variable Boolean, en el estado y vamos a abrirlo o a cerrarlo, según nosotros queramos, entonces lo que vamos a poner que, bar = estado, y aquí le preguntamos, if (bar = = true), vamos a mostrar por pantalla "el bar ha sido abierto", y en caso contrario vamos a mostrar por pantalla "el bar está cerrado", de modo que ahora aquí puedo, al tren número tres, que era de lujo, llamar a statusbar, y pasarle un false, y ahora me dirá que el bar ha sido cerrado.

La herencia es unilateral

Pero ¿Qué sucede si yo esto lo quiero hacer al primer tren? No puedo, me da error! Porque el primer tren es un tren normal, no hereda de lujo, por lo tanto esas características solamente las van a tener los trenes que han sido de la clase tren, pero tren no va a recibir lo de lujo, tren no va poder tener nada de esto, sin embargo, los trenes de lujo si van a tener lo suyo, más lo de tren, porque lujo hereda de tren. El hijo puede tener las cosas del padre, pero el padre no tendrá las cosas del hijo, así es como funciona la herencia en Java

Bueno, ahora ya has visto algo muy potente, has visto cómo crear objetos donde puedes representar situaciones de la realidad con sus características propias, y poder hacer cosas con ellos mismos, y cómo hacer que otros hereden de ellos y reciban lo mismo más lo propio. Una vez visto esto vamos a, ver otro video más de Java.

Si quieres enterarte de los nuevos cursos, suscríbete. No habrá spam, prometido :)

También te puede interesar

Ejercicios Resueltos en C / C++
Encriptación en Java

Sobre el autor

foto de jotajotavm
José Javier Villena

jotajota pa los amigos y jota pa los de más cnfianza.

Bio Seria: Analista-Programador en diferentes lenguajes. Tutor PREMIUM de reconocidas plataformas de nivel mundial como CodigoFacilito. Redactor de artículos para Cristalab. Mi canal de YouTube está patrocinado por la editorial ANAYA y LaTostadora. Me gusta explicar con detalle y poner varios ejemplos para que no queden dudas.

Bio Molona: Me presento :) soy informatico, ni frostis d hardware pero muy muxo de programacion, friki a medias o del to segun el dia. Me gusta programar, muxo. Manejo varios lenguajes y tdo lo ke sepa lo comparto x amor al arte. Este no es mi trabjo pero lo ago mejor y con +ganas y calidad que si lo fuera, x eso mismo, xq para mi es divertido. Solo spero al menos algo de agradecimientO!! ;)

Dios, qe gusto haber escrito este parrafo cm me a dao la gana sin pensar en ortografia ni tildes ni historias!!!!!

Esta página usa cookies para darte una mejor experiencia de usuario.

x