No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

No se trata de lo que quieres comprar, sino de quién quieres ser. Aprovecha el precio especial.

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

14 Días
15 Hrs
18 Min
29 Seg

¿Qué es la herencia?

15/37
Recursos

Don’t repeat yourself es una filosofía que promueve la reducción de duplicación en programación, esto nos va a inculcar que no tengamos líneas de código duplicadas.

Toda pieza de información nunca debería ser duplicada debido a que incrementa la dificultad en los cambios y evolución

La herencia nos permite crear nuevas clases a partir de otras, se basa en modelos y conceptos de la vida real. También tenemos una jerarquía de padre e hijo.

Aportes 265

Preguntas 27

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Cuando detecto características y comportamientos iguales, entonces significa que debo realizar una abstracción.

Superclase la que está dando Anahí!. Excelente curso

Así entiendo que es una clase. Cualquier corrección favor de informar.

He escuchado que hay programadores que no aconsejan en el trabajo usar los términos Padre e hijos ya que al llamarlos así se puede dar una mala impresión en cuanto al nivel profesional y de conocimiento. En un escenario laboral es mejor llamar estas relaciones con los nombres Súperclase y Subclase y solo usar Padre e hijos para enseñar y entender la idea de herencia (como el caso de este curso) y entre compañeros de confianza.

-“Bastantes hijos”

Así entiendo yo el término herencia. Cual quier corrección adelante.

Les comparto una infografía de herencia con Python

Asi enteido yo lo que es la abstracción de una clase.

El concepto de herencia es un muy importante dentro de la programacón, por ejemplo en frameworks se hace mucho uso de ella y tener este concepto claro ayuda mucho a comprender como funcionan los frameworks internamente, por ejemplo en laravel de php cuando creamos modelos estos heredan de una clase principal llama Model…

Java admite padrastros por medio de las interfaces :v

Muy parecido al concepto de entidad relación en una base e datos relacional

😄

Platzi porque se fue AnnCode? La extraño


📌 Debemos utilizar la herencia, cuando detectamos elementos repetidos en nuestros objetos. Esto nos permite eliminar la redundancia.

Así entendí yo la abstracción. Si alguien gusta en correguirme adelante.

Me quedo con esa frase “Don’t repeat yourself”, hasta ahora hacia codigos duplicando todo pero es muy importante reultilizar el codigo y excelente expliación de la herencia.

Realize un diagrama de clases para practicar, espero tenerlo bien jejjej
![](

La clase SeleccionFutbol también la podemos poner como Persona para mayor claridad.

En este punto del curso ya sabemos los 4 elementos importantes:

  1. clases
  2. atributos
  3. métodos
  4. objetos

Tambien sabemos dos de las leyes de la POO

  1. abstracción
  2. herencia

pilas 🔋

Aprovechando el #PlatziDay

-La herencia es el mecanismo mediante el cual podemos definir una clase (Subclase) en función de otra ya existente (Superclase).
-Las subclases heredan los atributos y operaciones de sus superclase.
-Existen dos tipos de herencia (Simple y Multiple):
*Herencia múltiple en la que una clase puede **heredar ** comportamientos y características de más de una superclase.
*Herencia simple, donde una clase sólo puede heredar de una superclase.

HERENCIA EN POO

La herencia, es el procedimiento utilizado para reutilizar codigo cuando creamos nuevas clases. Pues lo único que se hace, es indicar al programa que queremos utilizar las variables y funciones de una clase que ya hemos creado anteriormente. Es decir, podemos utilizar los metodos y atributos de una clase que ya existe, colocarlos dentro de una nueva clase sin necesidad de volver a escribir el codigo.

La herencia o reutilización de codigo, es una gran ventaja porque ayuda al programador a ahorrar codigo y tiempo, al no tener que volver a escribir las mismas líneas de codigo nuevamente.

Me recuerda a “sacar factor común” de matemáticas ya que extraes aquello que se repite. Lo conviertes en súperclase y dejas lo que queda para las subclases.

Visto así, en la teoría, me resulta sencillo. Veremos luego jeje

Conceptos vistos en el video

  • Herencia: Mecanismo utilizado en la programación que nos permite crear nuevas clases a partir de una existente.
  • Abstracción: Práctica de aislar un elemento de su contexto, o el resto de elementos que lo acompañan consiguiendo de ese modo, reducir ese elemento a sus características mas esenciales

¿Qué es la herencia?
.
DRY: Don’t Repeat Yourself, consiste en promover la reducción de duplicación en programación. Ninguna pieza debe de ser duplicada debido a que aumenta la dificulta en los cambios y evolución.
.
Herencia, nos permite crear nuevas clases a partir de otras, teniendo una simulación de la vida real.
.
Clase Padre, la encontraras también con el nombre de Supérclase, y la palabra de referencia que se ocupa dentro del código es: super.
Clase Hijo, la encontraras también con el nombre de Subclase.
.
Recuerda: Cuando detectas características y comportamientos iguales, entonces significa que debes realizar una abstracción, herencia.

Me encantan sus curso, naciste con esa esencia de que todo lo que explicas sea fácil

Como en la vida cotidiana el padre siempre hereda algo a su hijo .

Buenas comporta ejemplo visual y sencillo que hice sobre la herencia basándome en los picos del juego minecraft

Mis apuntes #15

Estoy disfrutando mucho este curso

solo pienso en pokemon cuando dicen atributos jaja

Toda pieza de información nuca debería ser duplicada.

Pregunta usando este mismo ejemplo que da Anahí:

Es posible crear el método “Trabajar” en la clase padre y que la hereden las clases hijas en lugar de tener jugarPartido(), dirigirPartido() y darMasaje()?

¿Qué es la herencia?


💧DRY: Don´t repeat yourself

Es una filosofía que promueve la reducción de duplicación en la programación.

Toda pieza de información nunca debería ser duplicada debido a que la duplicación incrementa la dificultad en los cambios y evolución.

La herencia nos permitirá crear nuevas clases a partir de otras. O sea, vamos reutilizar código. Quiere decir, que vamos a hacer una abstracción para generar una súper clases general que después utilicemos para crear otras clases.

  • En la herencia también tendremos una jerarquía de padre e hijo.
  • En OOP, la clase padre siempre la encontraremos como la ‘Súperclase’ y los hijos como ‘subclase’.

Recuerdos de Pakiman con Freddy en el curso de programación básica :3

Ciertamente es difícil deshacerse de los hábitos que deja la programación estructurada, pero la profesora hace que sea fácil y entendible con conceptos claros. Excelente.

Siii patrones de diseño!!!

Herencia:
Es esa gran forma de reutilizar el código.
Por ejemplo si tenemos una clase persona con atributos como nombre, teléfono, email, y métodos como cambiarEmail,cambarTelefono, y necesitamos crear un clase llamada cliente, esta clase puede heredar de la clase persona todos sus métodos y atributos y también puede tener sus propios atributos como podría ser numeroCliente.

Herencia: es la forma de compartir propiedades y comportamientos en común entre clases, para evitar especificarlas en cada clase y así hacer el código mas fácil de mantener

La reutilización y la herencia son claves para simplificar el código y sea más legible, consistente y evitar en lo posible la repetición de código.

Una SuperClase es aquella que tiene propiedades y comportamientos que estarán en otras Subclases, las hijas. >Asi eliminamos toda redundancia de datos.

muy buena explicación

15. ¿Qué es la herencia?

“Don’t repeat tourself”

DRY: Don’t repeat yourself

  • Promueve la reducción de duplicación en programación
  • Toda pieza de información nunca debería ser duplicada debido a que la duplicación incrementa la dificultad en los cambios y evolución.
  • Reutilización

Herencia

  • Crearemos nuevas clases a partir de otras
  • Se establece una relación padre e hijo
  • Superclase, subclase
  • Cuando identifiquemos elementos repetidos significa que debemos hacer algo para que no sea así. Crear una superclase

¿Qué es la herencia?

La herencia es uno de los conceptos fundamentales en programación orientada a objetos que permite a una clase heredar atributos y métodos de otra clase. La clase que hereda los atributos y métodos se conoce como la subclase o clase hija, mientras que la clase de la que se heredan los atributos y métodos se conoce como la superclase o clase padre.

Ejemplos en los lenguajes de programación

Java

En Java, se utiliza la palabra clave extends para indicar que una clase hereda de otra clase. Aquí hay un ejemplo:

javaCopy code
public class Animal {
    public void eat() {
        System.out.println("The animal is eating.");
    }
}

public class Dog extends Animal {
    public void bark() {
        System.out.println("The dog is barking.");
    }
}

En este ejemplo, la clase Dog hereda de la clase Animal y tiene acceso al método eat() de la clase Animal.

Python

En Python, la herencia se implementa mediante la definición de una clase que hereda de otra clase. Aquí hay un ejemplo:

pythonCopy code
class Animal:
    def eat(self):
        print("The animal is eating.")

class Dog(Animal):
    def bark(self):
        print("The dog is barking.")

En este ejemplo, la clase Dog hereda de la clase Animal y tiene acceso al método eat() de la clase Animal.

JavaScript

En JavaScript, la herencia se implementa mediante la definición de un objeto que hereda de otro objeto. Aquí hay un ejemplo:

javascriptCopy code
function Animal() {
  this.eat = function() {
    console.log("The animal is eating.");
  }
}

function Dog() {
  Animal.call(this);
  this.bark = function() {
    console.log("The dog is barking.");
  }
}

En este ejemplo, la clase Dog hereda de la clase Animal utilizando el método call() y tiene acceso al método eat() de la clase Animal.

PHP

En PHP, la herencia se implementa mediante la palabra clave extends en la definición de una clase. Aquí hay un ejemplo:

phpCopy code
class Animal {
    public function eat() {
        echo "The animal is eating.";
    }
}

class Dog extends Animal {
    public function bark() {
        echo "The dog is barking.";
    }
}

En este ejemplo, la clase Dog hereda de la clase Animal y tiene acceso al método eat() de la clase Animal.

No me parece que seleccion sea clase padre yo haria una clase llamada persona

don’t repeat yourself!

  • prevent the duplication of code!

  • you should never duplicate code snippets, that makes implementing new functionality difficult!

Recordar sobre herencia que: la dirección de la flecha irá desde el hijo hasta el padre.

HERENCIA

Toda pieza de información nunca debería ser duplicada debido a que incrementa la dificultad en el seguimiento de los cambios y evolución del código de nuestro proyecto.

Don’t repeat yourself es una filosofía que promueve la reducción de duplicación en programación, esto nos va a inculcar que no tengamos líneas de código duplicadas. Para aplicar esta filosofía la POO nos brinda la herencia y la abstracción.

  • La herencia nos permite crear clases a partir de otras clases más generales implementando lo que se conoce como jerarquía de clases.

  • En la jerarquía de clases, el nivel superior se denomina super clase y contiene los atributos y comportamientos más generales que serán heredados por los niveles inferiores, las subclases. De esta forma evitamos tener que volver a definir los mismos atributos y comportamientos a clases similares y concentrarnos en las particularidades de cada una.

  • Siempre que se detecten características y comportamientos iguales debemos aplicar una abstracción, para objetos similares creamos una clase y para clases similares creamos una superclase. Cabe destacar que, aunque no hayan similitudes el contexto de negocio puede exigir una abstracción.

Información resumida de esta clase
#EstudiantesDePlatzi

  • Es importante analizar si tenemos atributos iguales dentro de nuestros objetos

  • Una de las leyes del código es “Don’t repeat yourself”

  • Es una filosofía que promueve la reducción de duplicación en la programación

  • Lo que buscamos es no tener líneas de código duplicado, ya que esta incrementa la dificultad en los cambios y evolución

  • No tener líneas de código duplicadas en lo posible y para lograr esto reutilizamos el código

  • La reutilización es uno de los principios en la programación orientada a objetos

  • La herencia es una pieza clave para reutilizar código y nos permite crear nuevas clases a partir de otra

  • En la herencia se establece una relación padre e hijo

  • Cuando realizamos un análisis e identificamos atributos similares, lo que buscamos es crear una sola clase principal que contenga estos atributos. Esta clase se llamará superclase

  • De la superclase pueden salir sub clases

  • La superclase es importantísima

  • Las clases hijas se conocen como sub clases

  • Cuando observo que tengo elementos repetidos, significa que debo mejorar esto, es decir, crear una superclase

RESUMEN CLASE 15:
QUE ES LA HERENCIA

I.- DRY: Don’t repeat yourself

  • Promueve la reducción de duplicación en programación

  • Toda pieza de información nunca debería ser duplicada debido a que la duplicación incrementa la dificultad en los cambios y evolución

II.- HERENCIA

  • crearemos nuevas clases a partir de otras

  • Se establece una relación padre e hijo

  • Superclase y subclase

III.- EJEMPLO:

es muy parecido cuando se grafica la relacion de las tablas que se hacen en SQL cuando se grafica sus relaciones, sus keys y demas.

DRY es una filosofía que promueve la reducción de duplicación en programación.

Por otra parte la herencia nos permitira crear clases apartir de otras. ( clases generales o super clases -“Padre” y subclases o “hijos”)

herencia
• La generalización es la relación entre una clase (superclase) y una o más versiones especializadas (subclases) de la misma.
– Los atributos y operaciones comunes a un grupo de subclases se asocian a la superclase y son compartidos por las subclases.
– Se dice que cada subclase hereda las características de su superclase, aunque también añade su propios atributos y operaciones específicos.
– La notación UML para la generalización es una flecha que conecta la superclase con sus subclases, apuntando a la superclase.
– Junto a la punta de flecha en el diagrama pueden colocarse un discriminador, un atributo de tipo enumeración que indica la propiedad de un objeto que se abstrae en una relación de generalización particular

Un principio o guía al momento de analizar donde aplicar la herencia es el principio “es un” por ejemplo Ejemplo: Estamos desarrollando un sistema para llevar el control dentro de una escuela, tanto de estudiantes, docentes, algunos atributos comunes entre los docentes y los alumnos son los datos personales aquello que cada persona tiene entre ellos están nombres, apellidos, fecha de nacimiento y así sucesivamente. Aplicando el principio “es un” para encontrar una clase que generalice de a estas dos diríamos que tanto el docente como el Alumno son “personas”, así creamos la clase persona de la cual heredan tanto el docente como el alumno, ya que el docente en ultima instancia es una persona y también el alumno. Cuando una clase hereda de pocas clases mas genérica es por eso en java la clase “Object” es la clase super cósmica de la cual heredan las demas y esta solamente tiene unos pocos métodos…

Yo el DRY lo aprendi como **DRYS **😅

Al crear una superclase, las sublcases solo tendrán propiedades y comportamientos que las distinguen de las demás.

Es el principio de la programacion modular ❤️

Java no permite la herencia multiple, osea que no se puede tener varios padres que den herencia o más bien la subclase solo puede heredar de una superclase.

2 meses con Java lo aprendi XD

la herencia es verficar y reutilizar el codigo, para aevitar el codigo espagueti

Generar una clase mas general entre las clases que repiten atributos (y tal vez metodos) para de ahi plantear mejor el problema

La herencia es un proceso mediante el cual se puede crear una clase hija que hereda de una clase padre, compartiendo sus métodos y atributos. Además de ello, una clase hija puede sobreescribir los métodos o atributos, o incluso definir unos nuevos. (Fuente: ellibrodepythom)

No repetir el código es un beneficio, pero la herencia se basa en el concepto de generalización y especialización que surge del análisis de los objetos que forman parte de una aplicación. En el caso planteado va mas allá de ver propiedades repetidas, esas propiedades corresponden a una generalización que es personas. En una aplicación de un hospital un empleado es una persona con numero de legajo, un medico es una persona con una matricula y una especialidad, un paciente es una persona con una historia clínica pero todos comparen atributos por ser personas. Si se hace un buen diseño no importa si hay un solo tipo de clase, si esta puede dividirse por generalización y especialización va a permitir la escalabilidad y el buen diseño incorporando nuevas clases sin rediseñar por duplicación de atributos. Cualquier característica adicional a una clase base (o padre) posterior a su implementación automáticamente será heredada.

Un ejemplo sencillo de herencia es lo que esta haciendo la profesora Anahí cuando TRANSMITE su conocimiento que ahora PASA a formar parte de nuestro propio conocimiento.

¿Como se maneja la herencia en bases de datos?

Hola

aqui te dejo una lectura para ejemplificar mas sobre la herencia :
https://www.netmentor.es/entrada/herencia-poo

Herencia

La herencia se puede definir como el proceso en el que una clase adquiere las propiedades (métodos y campos) de otra. Con lo cual se permite crear nuevas clases a partir de otras, teniendo una simulación de la vida real.

DRY: Don’t Repeat Yourself: Consiste en promover la reducción de duplicación en programación. Ninguna pieza debe de ser duplicada debido a que aumenta la dificultad en los cambios y evolución.

Al hacer el análisis de clases es posible que se detecten características y comportamientos duplicados, por lo que se deber hacer un análisis de abstracción posterior para crear una clase que sea lo más general entre ellas. Dicha clase es la que permite generar nuevas clases a partir de ella, definiendo el concepto de Herencia.

La herencia establece una jerarquía, una relación padre e hijo:

Clase Padre

También conocida como Superclase, y la palabra de referencia que se ocupa dentro del código es: Super.

Clase Hijo

También conocida como Subclase.

La HERENCIA imita a la herencia de la vida real, las propiedades o atributos pasarán de Padres a Hijos. Tendrán características comunes y comportamientos o métodos comunes. Existe una regla que se debería aplicar siempre la de:
Es un…

  • ¿Un Jefe es un empleado?

  • ¿Un Empleado es un Jefe?

La herencia nos permitirá reutilizar el código

La herencia es un tema clave para POO

¿En qué casos usamos herencia para las clases abstractas, en qué casos para las interfaces, y en qué casos solo se hereda normal?

Ejemplo creación superclase

Me trae recuerdos a las bases de datos

Ejemplo de Herencia, Superclase y subclases.

Don’t repeat yourself

1ra Ley del código/programción

DRY DON´T REPEAT YOURSELF

-Promueve la reducción de duplicación en programación.

  • Toda pieza de información nunca debería ser duplicada, esto incrementa la dificultad en cambios y evolución.

Herencia
-Crea nuevas clases a partir de los elementos de otras.
-Establece una relación de padre e hijos (Superclase,subclase)

Aplicación en la vida real
Después de hacer nuestro primer análisis y plasmar gráficamente mediante un diagrama las clases, empezamos a buscar elementos en común en las clases, todo esto permite generar una abstracción a partir del resultado anterior para dar vida a una superclase.

yo estoy adelantando mi clase de universidad ya me imagino explicando mis profesores esto

Cuando se analiza los objetos, se definen atributos y comportamientos y nos damos cuenta que hay atributos y comportamientos que se repiten en cada objeto. Para solucionar eso y no repetir elementos, se genera una clase padre que contiene los atributos y comportamientos que se repiten, y también se crea clases hijos que heredan los atributos y comportamientos de la clase padre, a esto se llama Herencia.

Buena y clara explicación.

ahora si logre entender el tema de la Herencia !
Excelente Explicación !

Gran manera de explicar el concepto de Herencia.

dos puntos por terminar de ver el video :v

Muy buena explicación, voy comprendiendo de lo mejor!

OOP está muy a la mana con Database
📟
En relación a nuestro Sistema de Uber la herencia se aplicaría de esta forma.
Auto ->SúperClase
-UberX ->subclase
-UberPool ->subclase
-UberBlack ->subclase
-UberVan ->subclase

Pago ->SúperClase
-Card ->Subclase
-Paypal ->Subclase
-Cash ->Subclase

Mis aplausos profe se le entiende muy bien!

La herencia nos permite seguir con el principio de modularidad.

Don’t repeat yourself ❤️

La Herencia, nos permite crear nuevas clases a partir de otras. La herencia es clave para reutilizar lineas de código.
.
La Superclase hace referencia a que es la clase padre y La Subclase se define como hijo de la superclase.
.

Rima y todo: promueve la reducción de duplicación en programación.

tan difícil que era entender estos en la universidad! xd

Cuando dice leyes del codigo a que se refiere? y a que filosofia pertenece el concepto Don’t repeat yourself?

Me podrían aclarar el porque la clase Futbolista , Entrenador y Masajista heredan a la clase SeleccionFutbol 😦 ya se que es porque comparten los mismo metodos y atributos, pero mi intriga es por que la clase seleccionFutbol no es la que hereda a las demás

la herencia es uno de los pilares fundamentales de la programación orientada a objetos. Es el mecanismo por el cual una clase permite heredar las características (atributos y métodos) de otra clase.

me gusta mucho por que explica como mi mama y me hace dar ganas de seguir aprendiendo esta carajada de la programacionnnnn 😃 ANN es la mejorrrrrrrrr profe

nunca he entendido para que piden la edad, si cada año cambia? a caso no es mejor pedir fecha de nacimiento y calcular la edad??

bueno en si la profe menciona las bases de esta pero sabían ustedes que existen distintos tipos de herencias pero antes de profundizar quiero dar ejemplo de la herencia pero no se me confundan las subclases no pueden heredar atributos a las clases padre (o si esta es una interrogante que logrado entender y dar fin pero por el momento esta no es el centro) bueno digamos que tenemos un clase llamada smartphone "es un " teléfono pero no todos los teléfonos comparten las misma características desde precio color peso numeros de cámaras y como ya lo notaste smartphone es una superclase pero esta puede heredar sus propiedades a teléfonos pero a su vez table es una sub clase de teléfono pero como es posible esto dirías Te lo explico en un simple ejemplo tu tenes un padre que seria la "SuperClase" y tu eres su "hijo" pero tu tienes uno y estos pueden tener "hijos" y estos heredarán atributos tanto de su tu padre que ahora es su abuelo y tu que antes era hijo ahora eres padre de tu hijo se que suena como wtf pero es asi como funciona esto ```java //intentare ser lo mas grafico para //que todos puedan entender y //comprender import java.util.ArrayList; /** * Main */ public class Main { public static void main(String[] args){ ArrayList<Double> measuresPhone = new ArrayList<>(); measuresPhone.add(1.5); measuresPhone.add(2.0); measuresPhone.add(2.0); SmartPhone myPhone = new SmartPhone(12.1,"blue" , 299.99, measuresPhone); myPhone.printSmartPhone(); } } import java.util.ArrayList; class SmartPhone{ double weight; String color; double price; ArrayList<Double> measures; public SmartPhone(String weight, String color, double price, ArrayList<Double> measures ){ this.weight = weight; this.color = color; this.price = price; this.measures = measures; void printSmartPhone() { System.out.println("the weigth telephone " +weight+ "color phone in " +color+ "it's price is " +price+ "measures are "+measures); } } import java.util.ArrayList; class Tablet extends Telefono{ public Tablet(String weigth, String color, ArrayList<double>measure, double price ){ super(weigth, color, measure, price); } } import java.util.ArrayList; class Telefono extends SmartPhone{ public Telefono(String weigth, double price, ArrayList<Double>measure, String color ){ super(weigth, color, price, measure); } //hasta el momento este codigo no funciona pero creame nuevos errores nuevas enseñansas ``` En lo que me refiero a otros tipos de herencias claro que los tenemos "PERO SI PARA ESTE MOMENTO NO HAS COMPRENDIDO LO QUE DIGO ARRIBA REPITE LA CLASE O VUELVE A LEER"
HERENCIA EN PROGRAMACIO ES AQUELLA QIE NOS DICE EN SU FILOSOFIA DON'T REPEAT YOURSELFT ESTA NOS DICE QUE NO DEBEMOS REPETIR ATRIBUTOS REPETIDO YA QUE ES UNA MALA PRACTICA Y PODEMOS CREAR UN SUPER CLASES DONDE ESTA LE COMPARTIRA SUS ATRIBUTOS A SUS HIJOS ESTOS SIENDO LOS PADRES OJO PODEMOS DECIRLE CUALES ATRIBUTOS SI O NO COMPARTIR CON SUS HIJOS

Excelente explicacion…

Regla DRY Don't Repeat Yourself