¿Por qué se usa super?

Uso de super en programación Orientada a Objetos

La instrucción super se utiliza especialmente en la Programación Orientada a Objetos (POO) en lenguajes de programación como JavaScript, Java, Python, entre otros. Su función general es llamar o acceder a los métodos y propiedades de la clase padre.

La respuesta correcta al "¿Por qué se usa super?" es: "Se utiliza como una 'función' que llama al constructor del padre."

Cuando creamos Clases y subclases (también conocidas como clases hijas) en la POO, a menudo es esencial llamar al constructor de la clase padre. Esto es para asegurar que la subclase herede todos los atributos y métodos de la Clase padre. Aquí es donde entra en juego super, llamándolo en el constructor de la subclase invoca el constructor de la clase padre, permitiendo la herencia de atributos y métodos.

Tomemos un ejemplo práctico para entender mejor el concepto. Supongamos que tenemos una clase Automóvil y su subclase Camión:

class Automóvil {
  constructor(marca, modelo) {
    this.marca = marca;
    this.modelo = modelo;
  }
}

class Camión extends Automóvil {
  constructor(marca, modelo, capacidadCarga) {
    super(marca, modelo);
    this.capacidadCarga = capacidadCarga;
  }
}

En el ejemplo anterior, notará que llamamos a super(marca, modelo) en el constructor de la subclase Camión. Esto es para asegurarnos de que los atributos marca y modelo se hereden de la clase padre Automóvil a la subclase Camión.

Así, la importancia de usar super radica en su necesidad para la correcta inicialización de objetos cuando se trabaja con herencia de clases, ya que permite que la subclase tenga acceso a todas las propiedades y métodos de la clase padre.

¿Te resulta útil?