Fundamentos de la programación: Paradigmas de programación

El concepto de herencia en programación

¡Prueba gratis durante 10 días

nuestros 1271 cursos !

Prueba gratis Mostrar modalidades de suscripción
Platicaremos del concepto de herencia y compararemos la herencia en la programación con la herencia en la naturaleza con algunos ejemplos que describiremos a detalle para ver el beneficio de este concepto.

Transcripción

La herencia es uno de los conceptos elementales de la programación orientada a objetos. Hoy en día es una de las características que más se conocen y se explotan. Primero, vamos a definir qué es la herencia. La herencia en la programación no tiene casi diferencias con la herencia natural, es decir, la que sucede con los seres humanos. El ejemplo son las personas: tenemos a un hombre, que es Juan y tenemos a una mujer, que es Sara; Juan y Sara tienen un hijo que se llama Tomás. Tomás entonces, va a tener ciertas características de Juan y Sara. Puede ser que en algúunas cosas tenga cosas de la madre, por ejemplo, el color de cabello, la estatura, la nariz, y en otras tenga características del padre, el tono de la voz, las manos, el color de la piel. Esto es la herencia en personas, algo similar a lo que sucede en el código. Tú creas una "Clase A" y después creamos una "Clase B". Al momento de crear la "Clase B", en la programación siempre tienes la posibilidad de indicarle que la "Clase B" puede ser clase hija de otra clase. Por ejemplo, en este caso le diremos que la "Clase B" es la clase hija de la "Clase A". El cómo lo digas no importa, en cada lenguaje se dice de forma diferente; eso ya lo veras cuando trabajes con un lenguaje, lo importante es que ya lo indicamos. ¿Qué es lo que se copia? En este caso la "Clase B" es idéntica a la "Clase A", la diferencia con la herencia de los humanos es que aquí no se copian solo algunas características, se copian todas sí o sí. Así que si preguntáramos los atributos, métodos o constructores, la "Clase B" tendría todos los que tiene la "Clase A"; sin tenerlos escritos en su propia clase. A esto se le conoce como "Herencia simple", la cual, lo que nos indica es que la clase tiene solamente un padre. Existen muchos lenguajes de programación en donde sólo se permite este tipo de herencia; de hecho, la mayoría son así. Por ejemplo, en el caso de "Java" sólo de puede hacer "Herencia simple". En lenguajes como "Payson" sí podemos tener una "Herencia múltiple", lo que quiere decir que la clase puede tener dos padres o más, así que tú le puedes colocar tres o más padres. La "Herencia múltiple" es algo que durante un tiempo se pensó, es una gran ventaja sobre otros lenguajes pero los lenguajes de "Herencia simple" tienen otros mecanismos que cubren no de forma idéntica pero un poco parecida y en aglunos casos no se nota la falta de "Herencia múltiple". El caso de "Java" es el caso que más ruido hace, ya que, imagínate que es uno de los lenguajes más usados hoy en día, y nadie sufre por falta de "Herencia múltiple". De hecho, tenemos algo que se conoce como "Interfaces" y que ayuda a resolver este problema, pero no solamente es un concepto, es la lógica y el razonamiento con el que trabajas en "Java". Hablemos de las ventajas y desventajas de tener "herencia". La "herencia" tiene muchas ventajas, nos permite ahorrar tiempo y no tener que estar definiendo nuevas clases que ya están definidas; al tener clases similares, aprovechamos el código ya escrito. Las "clases padres" nos van a servir como clases bases de todas las otras clases que vamos a ir agregando. Las desventajas de la herencia es que si empezamos a tener una gran cantidad de clases, se empieza a generar problemas para tratar de seguir la herencia; esto es algo natural. Entre más clases, más objetos podemos crear y entre más objetos, más atributos, más métodos, más cosas de las que debemos estar pendientes. Por eso es muy importante que el desarrollador practique sus conceptos y generación de clases, no se vuelve uno experto de la noche a la mañana, y mucho menos en la programación orientada a objetos. Las clases y la herencia pueden sonar unos conceptos muy sencillos pero en la práctica pueden ser bastante complejos, ya que esto siempre cambia dependiendo de la naturaleza del lenguaje. La herencia se puede percibir de diferentes formas por las personas. Si tú y yo hacemos un programa, puede ser – y es muy probable – que las herencias van a ser diferentes a las que yo propongo y las que tú propones. Por eso, en los equipos de desarrollo de Software esta parte se trabaja en equipos y si no fuera el caso, el final se comparte con otros miembros del equipo para conocer su punto de vista. Es que no es por nada un tema sencillo. Mucho antes de programar, de las primeras cosas que se hacen es definir las clases. Lo último que se hace es programar las clases que ya se definieron y aprobaron previamente.

Fundamentos de la programación: Paradigmas de programación

Entiende mejor las bases de la programación y la creación de software, mediante la comprensión del paradigma de la programación, los distintos tipos y sus clasificaciones.

2:13 horas (28 Videos)
Actualmente no hay comentarios.
 

Este curso video2brain está disponible como descarga y para ser visualizado online. ¡Pero no hace falta que decidas entre las dos opciones! Al comprar el curso, disfrutarás de ambas posibilidades.

La descarga te permite ver las lecciones sin estar conectado/a a internet y supone una navegación fácil y ágil entre capítulo y capítulo. Si vas a trabajar en diferentes ordenadores o si no quieres descargarte el curso completo, entra en la web con tus datos de acceso y disfruta directamente de tus vídeos online. Te deseamos que disfrutes de este curso y te resulte de mucha utilidad.

Estamos a tu disposición si tienes cualquier tipo de duda o pregunta.