No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Herencia y Composici贸n

12/14
Recursos

Aportes 5

Preguntas 1

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

Herencia y composici贸n

Composici贸n sobre herencia.

Usar menos herencias para no crear taxonom铆as complejas.

Herencia:

  • La subclase y la superclase est谩 unidas
  • La subclase no puede ordenarle a la superclase
  • Para reusar c贸digo podemos crear clases intermedias, para reutilizarlas en las distintas subclases

Composici贸n:

Es una relaci贸n entre 2 clases d贸nde una necesita de otra para funcionar.

  • 鈥淐arro鈥 necesita 鈥淢otor鈥 para

    funcionar

En vez de heredar de una clase base que tenga el motor, podemos tener este elemento como parte de las propiedades de una clase. As铆 como tenemos motor, podemos tener llantas y asientos.

Hay un concepto muy parecido a la composici贸n que es la agregaci贸n, el cual se abordar谩 m谩s adelante.

Aporte de Josshua Fletes

隆Hola!

Te dejo un ejemplo para que quede un poco m谩s claro el concepto de composici贸n de clases en TypeScript:

  interface UserSettingsProps {
    workingDirectory: string;
    lastOpenFolder: Date;
    email: string;
    role: string;
    lastAccess: Date;
    name: string;
    gender: Gender;
    birthdate: Date;
  }

  /* Esta va a ser una composici贸n, una clase que compone otras clases */
  class UserSettings {
    public person: Person;
    public user: User;
    public settings: Settings;
    constructor({
      name,
      gender,
      birthdate,
      email,
      role,
      lastAccess,
      workingDirectory,
      lastOpenFolder,
    }: UserSettingsProps) {
      this.person = new Person({ name, gender, birthdate });
      this.user = new User({ email, role, lastAccess });
      this.settings = new Settings({ workingDirectory, lastOpenFolder });
    }
  }

Y recuerda: "favorecer la composici贸n sobre la herencia".

Herencia y composici贸n

Herencia:

  • La subclase y la superclase est谩 unidas
  • La subclase no puede ordenarle a la superclase
  • Para reusar c贸digo podemos crear clases intermedias, para reutilizarlas en las distintas subclases


Composici贸n: Es una relaci贸n entre 2 clases d贸nde una necesita de otra para funcionar.

  • 鈥淐arro鈥 necesita 鈥淢otor鈥 para funcionar

Mejor la composici贸n ya que a futuro es mas f谩cil de mantener

Actualmente ya uso composicion para mis componentes en React y es muy util. Hay que ver como se comporta en escenarios como una API con sus servicios que manejen Clases/Modelos/Tablas