Наследование в JavaScript
Что такое наследование?
Наследование означает получение некоторых свойств от родителя. Если один из ваших объектов хочет иметь некоторые свойства, унаследованные от родительского класса, вам необходимо наследование. В большинстве языков объектно-ориентированного программирования есть ключевое слово «расширить». В Javascript это было недолго. В этом уроке я покажу, как использовать наследование в JS на очень простом примере.
Собака и кошка - это животные, и у них одинаковые свойства, например, они оба спят, едят, гуляют и т. Д. Эти свойства могут быть достигнуты как животные из родительского класса «Animal». Но оба издают разные звуки. Звук будет иметь разные свойства для каждого животного. Давайте посмотрим на это в действии.
Животное:
'use strict' class Animal { constructor(animal) { this.animal = animal; } eat() { console.log(this.animal + ' eats '); } walk() { console.log(this.animal + ' walks '); } } module.exports = Animal;
Собака:
const Animal = require('./animal') class Dog extends Animal{ constructor(){ super('Dog'); } sound(){ console.log('Dog sounds like Geow Geow'); } } module.exports = Dog;
Кот:
const Animal = require('./animal') class Cat extends Animal{ constructor(){ super('Cat'); } sound(){ console.log('Cat sounds like Meow Meow...'); } } module.exports = Cat;
Главный:
const Animal = require('./animal'); const Cat = require('./cat'); const Dog = require('./dog'); console.log('********** CAT ***********'); let c = new Cat(); c.sound(); c.eat(); c.walk(); console.log('********** DOG ***********'); let d = new Dog(); d.sound(); d.eat(); d.walk();
Вывод:
********** КОШКА ***********
Кот звучит как Мяу Мяу…
Кот ест
Кот гуляет
** ******** СОБАКА ***********
Собака звучит как Гео Гео
Собака ест
Прогулка с собакой