You don't have access to this class

Keep learning! Join and start boosting your career

Aprovecha el precio especial y haz tu profesión a prueba de IA

Antes: $249

Currency
$209
Suscríbete

Termina en:

1 Días
13 Hrs
7 Min
7 Seg

Qué es herencia

15/20
Resources

What is inheritance in object-oriented programming?

Object-oriented programming is a powerful methodology based on several pillars, including inheritance. This concept allows us to create parent classes, which act as templates, to form new child classes. Instead of repeating common attributes and methods, child classes can inherit all the properties of the parent class, promoting code reuse and order.

Why does inheritance matter in the Platzi context?

In Platzi, students have certain variations, such as subscription and non-subscription students. This diversification is crucial for the platform to properly deliver its services. Inheritance is used to define common characteristics of all students in a parent class "Student" and specify the unique details for the different types of students in the respective child classes.

Advantages of inheritance:

  • Code reuse: reduces the need to duplicate code, favoring centralized modifications.
  • Order and scalability: Facilitates extending functionality without cluttering the code structure.

How to avoid code clutter with inheritance?

To handle the differences between types of students without falling into a labyrinth of conditions, inheritance allows the creation of specific classes for each type of subscription, such as "FreeStudent", "BasicStudent" and "ExpertStudent". Thus, we can set in the parent class "Student" the common attributes, such as name, age, email, courses passed, etc. From this base, the child classes extend their particularities without the need to write again all those shared data.

class Student { constructor(name, age, email) { this.name = name; this.age = age; this.email = email; }}
class FreeStudent extends Student { // Implements methods specific to students without subscription}
class BasicStudent extends Student { // Implements methods specific to students with basic subscription}
class ExpertStudent extends Student { // Implements methods for students with expert subscription}

Child classes use the reserved word extends to inherit from the parent class. This is the magic that simplifies the structure and effectively manages differences in functionality.

What are the benefits of programming with inheritance?

Implementing inheritance not only optimizes resource usage by avoiding repetition, but also paves the way for a robust and flexible application. It is easy to introduce new types of students or modify the rules of one subscription without affecting the others. It also ensures that any changes to common functionality are automatically propagated to all child classes, maintaining consistency.

Best practices:

  1. Identify similarities: Determine common attributes and methods to place them in the parent class.
  2. Correctly define the hierarchy: It is crucial to understand the relationships between classes for proper extension.
  3. Modularity: Maintaining modular code makes it easier to understand, maintain and extend.

By employing these concepts, efficient and scalable applications are formed, as is the case in a diverse platform such as Platzi. Thus, inheritance becomes not only a tool, but a vital strategy for successful software development.

Contributions 28

Questions 5

Sort by:

Want to see more contributions, questions and answers from the community?

Cuando observemos 👀 en nuestras clases o en el proceso de abstracción que hay clases que pueden compartir atributos, métodos (o simplemente porque la lógica del negocio nos lo indica). Podemos abstraer aun más nuestras clases y crear así las Suuuuuuper clases. Estas serán moldes que nos permitirán “heredar” atributos y métodos a nuestras sub-clases.
No lo olviden, DRY(Don’t Repeat Yourself).
Mejor utiliza una SUUUUPEEER Class.

Y yo que no me consideraba un objeto para nadie pero soy un objeto para JS 🥲

La herencia nos permite crear “clases madre”, la cual servirá de molde para clases hijas, que compartirán sus métodos y atributos.
Usamos la palabra reservada extends.

📌 La herencia nos permite crear nuevas clases a partir de otras, se basa en modelos y se genera una jerarquía de padre e hijo.

La herencia nos permite crear nuevas clases a partir de otras, la clase principal es llamada la Superclase, esta va a ser la clase general ,el molde general. Cuando veamos que tenemos elementos repetidos comenzamos a crear una abstracción, creamos una clase general que nos permita crear nuevas clases.

Tenemos las subclases, que son las que heredan atributos y métodos de las Superclases, podríamos decir que son las clases hijas. En las clases hijas ponemos los atributos que solo ellas van a utilizar, que son solo características de ellas.

👨 Qué es herencia

Apuntes

  • La herencia nos permite crear “moldes madre” para crear otros prototipos a partir de la clase padre
  • La herencia nos ayuda cuando queremos clasificar un grupo de prototipos los cuales queremos que tengan comportamientos bastante similares, pero cada uno con cierta particularidad
  • Al referirnos a herencia nos referimos a que obtenemos o heredamos los atributos y métodos de la clase padre
    • Para poder heredar de una clase se utiliza la palabra reservada extends

Ejemplo

class Student{
	...
}

class FreeStudent extends Student{
}

<aside>
📌 RESUMEN: Herencia es un pilar de la programación orientada a objetos, este concepto nos ayuda a crear una clase la cual te servirá para poder crear otras clases a partir de esta, las derivadas de la clase superior obtendrán tanto métodos y atributos definidos en la clase superior

</aside>

un departamento entero se llama Freddy!

HERENCIA
JavaScript en un lenguaje orientado a objetos basado en prototipos, en lugar de estar basado en clases. Debido a esta básica diferencia, es menos evidente entender cómo JavaScript nos permite crear herencia entre objetos, y heredar las propiedades y sus valores.

Qué es la herencia?

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.

Cada vez mejor este curso Juan!

No me gusta como habla en diminutivos este tipo.

La herencia nos permite crear clases madres, moldes generales o super prototipos para crear nuevos prototipos a partir de ellos.

En el nuevo prototipo se puede heredar desde la clase madre todos los atributos y métodos que allí definimos. La palabra reservada para lograr esto es extends.

class Student {
  constructor(name) {
    this.name;
  }
}

class FreeStudent extends Student {}

Qué es la herencia?

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.

class Student ({
    constructor(name) {
        this.name;
    }
});
 
class FreStudent extends Student {} ;

la palabra extends seguida de la clase madre, provoca que esta nueva clase hija herede todos los atributos y metodos de la clase madre

Recuerden que no es tan profesional referirse a esta clases como clases padres, lo que recomiendan y como fueron declaradas desde un principio es llamarlas SUPERCLASES y a sus clases “hijas” SUBCLASE.

¿QUÉ ES LA HERENCIA?
·
Nos permite crear Clases Madre/Padre, moldes generales, prototipos super-prototipos, para poder crear prototipos (clases) hijas. Así, se puede crear una Clase molde Madre, y a partir de esta clase, se puede definir y extender más clases que heredan todos los atributos y métodos de su mamá, Clase molde Hija.

Que excelente clase! La herencia nos permite extender o compartir atributos de una clase madre. Como ejemplo podemos tener a nuestros padres. Nosotros los tenemos a ellos como moldes o clases madre de la cual compartimos ciertos atributos, alguno de ellos pueden ser los ojos, la nariz, los labios, el rostro, el color de piel, gestos y muchos más... y a la vez podemos tener nuestra propia personalidad, pensamientos, maneras de actuar que nos hace diferentes a ellos.

En JS mas que herencia se debería de llamar delegación de prototypes.

Un punto importante a considerar:

En JavaScript cuando una función heredada se ejecuta, el valor de this apunta al objeto que hereda, no al prototipo en el que la función es una propiedad.

https://developer.mozilla.org/es/docs/Web/JavaScript/Inheritance_and_the_prototype_chain

Esta clase me pareció excelente!!!

Si tengo varios objetos que comparten atributos en común se realiza la abstracción de esos objetos y se crea una clase “madre” en donde esta clase madre heredará a los objetos iniciales dichos atributos. En el ejemplo que pone Juan los objetos es estudiante basic, estudiante expert, y estudiante expert+ pero todos ellos comparten algún atributo, por lo que se crea la clase madre estudiante que contenga a basic, expert y expert+ y esta clase heredará los atributos que tengan en común estos tres objetos

Con la herencia se pueden recibir las propiedades del molde de galletas madre, para que así los moldes 🍪 hijos, obtengan sus mismas funciones.

**Herencia:** Nos permite crear nuevas clases a partir de otras mismas que se basan en modelos y conceptos, Se genera una jerarquia de Padre-Hijo. el 'padre' es una SUPER CLASE y el 'hijo' una SUBCLASE. La palabra **extends** seguida de la SUPER CLASE, provoca que esta nueva SUBCLASE herede todos los atributos y metodos de la SUPER CLASE.
* **Herencia**: Es la capacidad de una clase de heredar las propiedades y métodos de otra clase. Por ejemplo, si se tiene una clase Perro que hereda de la clase Animal, Perro tendrá todas las propiedades y métodos de Animal, además de sus propias características específicas de perro.

La herencia sin duda es lo que más he empleado en otros cursos como backend con node.js y angular🤭 y podemos heredar atributos, metodos y también el tipado de interfaces

class especifica extends general{}

Cuando ves herencia y te acuerdas de la herencia familiar 😅

estoy en una crisis existencial, me acabo de dar cuenta que solo somos objetos para JS

esto básicamente serian como los roles supongo de alguna plataforma