Solucionado (ver solución)
Solucionado
(ver solución)
1
respuesta

[Duda] Polimorfismo,Getter y Setter

No me quedo claro como se aplica el polimorfismo, asi mismo como el get y set

1 respuesta
solución!

¡Hola Anngie! Gracias por tu pregunta.

El polimorfismo en JavaScript se refiere a la capacidad de un objeto de tomar varias formas. Esto significa que un objeto puede ser tratado como un objeto de su propia clase o como un objeto de una clase padre. Por ejemplo, si tienes una clase "Animal" y una clase "Perro" que hereda de "Animal", un objeto de la clase "Perro" también puede ser tratado como un objeto de la clase "Animal". Esto permite una mayor flexibilidad en el diseño de tu código.

Por otro lado, los getters y setters son métodos utilizados para acceder y modificar los valores de las propiedades de un objeto. Los getters se utilizan para obtener el valor de una propiedad, mientras que los setters se utilizan para establecer el valor de una propiedad. Esto permite un mayor control sobre los datos que se almacenan en un objeto.

Para aplicar el polimorfismo en JavaScript, puedes crear una clase padre con métodos y propiedades comunes a todas las clases hijas, y luego crear clases hijas que hereden de la clase padre y agreguen sus propios métodos y propiedades únicas. De esta manera, un objeto de la clase hija también puede ser tratado como un objeto de la clase padre.

class Animal {
  constructor(name) {
    this.name = name;
  }

  makeSound() {
    console.log('El animal hace un sonido.');
  }
}

class Dog extends Animal {
  makeSound() {
    console.log('El perro ladra.');
  }
}

class Cat extends Animal {
  makeSound() {
    console.log('El gato maulla.');
  }
}

// Creamos una función que recibe un objeto de tipo Animal y llama al método makeSound()
function animalSound(animal) {
  animal.makeSound();
}

// Creamos instancias de las clases
const animal = new Animal('Animal');
const perro = new Dog('Perro');
const gato = new Cat('Gato');

// Llamamos la función animalSound() pasándole las instancias de las clases
animalSound(animal); // Imprime "El animal hace un sonido."
animalSound(perro);  // Imprime "El perro ladra."
animalSound(gato);   // Imprime "El gato maulla."

Para utilizar los getters y setters en JavaScript, puedes definirlos en la clase con la sintaxis "get" y "set". Por ejemplo:

class Persona {
  constructor(nombre) {
    this._nombre = nombre;
  }

  get nombre() {
    return this._nombre;
  }

  set nombre(nuevoNombre) {
    this._nombre = nuevoNombre;
  }
}

let persona1 = new Persona("Juan");
console.log(persona1.nombre); // Output: Juan
persona1.nombre = "Pedro";
console.log(persona1.nombre); // Output: Pedro

Espero que esto te haya ayudado a entender mejor el polimorfismo y los getters y setters en JavaScript. ¡Buenos estudios!

¡Saludos!

Si este post te ayudó, por favor marca como solucionado ✓. ¡Continúa con tus estudios!