Полиморфизм - это способность объектов иметь различное поведение при вызове одного и того же метода. Другими словами, один метод может работать по-разному в разных объектах.
Простым примером полиморфизма на JavaScript может быть следующий код:
class Animal { constructor(name) { this.name = name; } makeSound() { console.log('Animal makes a sound'); } } class Dog extends Animal { makeSound() { console.log('Dog barks'); } } class Cat extends Animal { makeSound() { console.log('Cat meows'); } } const dog = new Dog('Rex'); const cat = new Cat('Whiskers'); dog.makeSound(); // Output: Dog barks cat.makeSound(); // Output: Cat meows
В этом примере у нас есть базовый класс Animal с методом makeSound(), который выводит на консоль сообщение об издаваемом звуке. Классы Dog и Cat наследуются от класса Animal и переопределяют метод makeSound(), чтобы задать свой звук для каждого животного. Когда мы вызываем метод makeSound() для объектов dog и cat, они выдают различные звуки, что является примером полиморфизма.
Полиморфизм - это способность объектов иметь различное поведение при вызове одного и того же метода. Другими словами, один метод может работать по-разному в разных объектах.
Простым примером полиморфизма на JavaScript может быть следующий код:
class Animal {constructor(name) {
this.name = name;
}
makeSound() {
console.log('Animal makes a sound');
}
}
class Dog extends Animal {
makeSound() {
console.log('Dog barks');
}
}
class Cat extends Animal {
makeSound() {
console.log('Cat meows');
}
}
const dog = new Dog('Rex');
const cat = new Cat('Whiskers');
dog.makeSound(); // Output: Dog barks
cat.makeSound(); // Output: Cat meows
В этом примере у нас есть базовый класс Animal с методом makeSound(), который выводит на консоль сообщение об издаваемом звуке. Классы Dog и Cat наследуются от класса Animal и переопределяют метод makeSound(), чтобы задать свой звук для каждого животного. Когда мы вызываем метод makeSound() для объектов dog и cat, они выдают различные звуки, что является примером полиморфизма.