SlideShare a Scribd company logo
1 of 5
Download to read offline
Наслідування класів
Наслідування на рівні об’єктів ми задавали
через __proto__ . На рівні класів це
можна роботи так:
ChildClass.prototype =
Object.create(ParentClass.prototype);
Наприклад:
Fox.prototype =
Object.create(Animal.prototype);
Розглянемо на прикладі Animal і його нащадка Fox.
function Animal(name) {
this.name = name;
this.mass = 1;
}
Animal.prototype.sayHi = function() {
alert( "Привіт, мене звати " + this.name );
}
function Fox(name) {
this.name = name;
this.mass = 1;
}
Fox.prototype = Object.create(Animal.prototype); // успадковування
Fox.prototype.cheat = function() {
alert( "Ходи до мене ближче, щоб я краще чула" );
}
var fox = new Fox("Лисичка-сестричка");
alert(fox.mass);
fox.cheat();
Слід подбати, щоб
Fox.prototype = Object.create(Animal.prototype);
було зразу після конструктора нащадка, інакше
перезаписалися б всі нові методи нащадка (у нас –
cheat() ).
Легко бачити, що у Animal і Fox повторюються код
this.name = name;
this.mass = 1;
Щоб цього уникнути, можна викликати код з Animal:
function Fox(name) {
Animal.apply(this, arguments);
}
При потребі у класі-нащадку можна перевизначити деякі
методи з батьківського класу.
Наприклад:
Fox.prototype.sayHi = function() {
alert( "Привіт, красунчику. Познайомимось ближче?" );
}
Задача 91
Напишіть клас Animal і його нащадки
– класи Hare, Wolf, Bear, Fox, які б
відображали основні риси тварин з казки
про колобка. Виконайте наочну графічну
реалізацію екземплярів класу.

More Related Content

More from Олег Вілігурський

More from Олег Вілігурський (20)

Theme21_json
Theme21_jsonTheme21_json
Theme21_json
 
Theme20_ajax
Theme20_ajaxTheme20_ajax
Theme20_ajax
 
Theme19_css
Theme19_cssTheme19_css
Theme19_css
 
Theme18_css
Theme18_cssTheme18_css
Theme18_css
 
Theme17a css
Theme17a cssTheme17a css
Theme17a css
 
Theme17
Theme17Theme17
Theme17
 
Theme16
Theme16Theme16
Theme16
 
Coding for Future in Lutsk. JavaScript. Part 15
Coding for Future in Lutsk. JavaScript. Part 15Coding for Future in Lutsk. JavaScript. Part 15
Coding for Future in Lutsk. JavaScript. Part 15
 
Coding for Future in Lutsk. JavaScript. Part 14
Coding for Future in Lutsk. JavaScript. Part 14Coding for Future in Lutsk. JavaScript. Part 14
Coding for Future in Lutsk. JavaScript. Part 14
 
Coding for Future in Lutsk. JavaScript. Part 13
 Coding for Future in Lutsk. JavaScript. Part 13 Coding for Future in Lutsk. JavaScript. Part 13
Coding for Future in Lutsk. JavaScript. Part 13
 
Coding for Future in Lutsk. JavaScript. Part 12
Coding for Future in Lutsk. JavaScript. Part 12Coding for Future in Lutsk. JavaScript. Part 12
Coding for Future in Lutsk. JavaScript. Part 12
 
Coding for Future in Lutsk. JavaScript. Part 11
Coding for Future in Lutsk. JavaScript. Part 11Coding for Future in Lutsk. JavaScript. Part 11
Coding for Future in Lutsk. JavaScript. Part 11
 
Coding for Future in Lutsk. JavaScript. Part 10
Coding for Future in Lutsk. JavaScript. Part 10Coding for Future in Lutsk. JavaScript. Part 10
Coding for Future in Lutsk. JavaScript. Part 10
 
Coding for Future in Lutsk. JavaScript. Part 9
Coding for Future in Lutsk. JavaScript. Part 9Coding for Future in Lutsk. JavaScript. Part 9
Coding for Future in Lutsk. JavaScript. Part 9
 
Coding for Future in Lutsk. JavaScript. Part 8
Coding for Future in Lutsk. JavaScript. Part 8Coding for Future in Lutsk. JavaScript. Part 8
Coding for Future in Lutsk. JavaScript. Part 8
 
Coding for Future in Lutsk. JavaScript. Part 7
Coding for Future in Lutsk. JavaScript. Part 7Coding for Future in Lutsk. JavaScript. Part 7
Coding for Future in Lutsk. JavaScript. Part 7
 
Coding for Future in Lutsk. JavaScript. Part 6
Coding for Future in Lutsk. JavaScript. Part 6Coding for Future in Lutsk. JavaScript. Part 6
Coding for Future in Lutsk. JavaScript. Part 6
 
Coding for Future in Lutsk. JavaScript. Part 5
Coding for Future in Lutsk. JavaScript. Part 5Coding for Future in Lutsk. JavaScript. Part 5
Coding for Future in Lutsk. JavaScript. Part 5
 
Coding for Future in Lutsk. JavaScript. Part 4
Coding for Future in Lutsk. JavaScript. Part 4Coding for Future in Lutsk. JavaScript. Part 4
Coding for Future in Lutsk. JavaScript. Part 4
 
Coding for Future in Lutsk. JavaScript. Part 3
Coding for Future in Lutsk. JavaScript. Part 3Coding for Future in Lutsk. JavaScript. Part 3
Coding for Future in Lutsk. JavaScript. Part 3
 

Recently uploaded

exam ЄВІ example of this exam for students for masters degree 2024
exam ЄВІ example of this exam for students for masters degree 2024exam ЄВІ example of this exam for students for masters degree 2024
exam ЄВІ example of this exam for students for masters degree 2024
OASISENGLISHOFFICIAL
 

Recently uploaded (9)

Балади про Робіна Гуда. Аналіз образу Робіна Гуда
Балади про Робіна Гуда. Аналіз образу Робіна ГудаБалади про Робіна Гуда. Аналіз образу Робіна Гуда
Балади про Робіна Гуда. Аналіз образу Робіна Гуда
 
Пасивний будинок Енергоефективність ОБСБД.pptx
Пасивний будинок Енергоефективність ОБСБД.pptxПасивний будинок Енергоефективність ОБСБД.pptx
Пасивний будинок Енергоефективність ОБСБД.pptx
 
Габон
ГабонГабон
Габон
 
exam ЄВІ example of this exam for students for masters degree 2024
exam ЄВІ example of this exam for students for masters degree 2024exam ЄВІ example of this exam for students for masters degree 2024
exam ЄВІ example of this exam for students for masters degree 2024
 
80 років від часу депортації з Криму кримських татар і осіб інших національно...
80 років від часу депортації з Криму кримських татар і осіб інших національно...80 років від часу депортації з Криму кримських татар і осіб інших національно...
80 років від часу депортації з Криму кримських татар і осіб інших національно...
 
Україна в умовах десталінізації (1953 – 1964 рр.).pptx
Україна в умовах десталінізації (1953 – 1964 рр.).pptxУкраїна в умовах десталінізації (1953 – 1964 рр.).pptx
Україна в умовах десталінізації (1953 – 1964 рр.).pptx
 
Хвороби картоплі та заходи боротьби з ними
Хвороби картоплі та заходи боротьби з нимиХвороби картоплі та заходи боротьби з ними
Хвороби картоплі та заходи боротьби з ними
 
Роль українців у перемозі в Другій світовій війні
Роль українців у перемозі в Другій світовій війніРоль українців у перемозі в Другій світовій війні
Роль українців у перемозі в Другій світовій війні
 
Спектроскоп. Спостереження оптичних явищ
Спектроскоп. Спостереження оптичних явищСпектроскоп. Спостереження оптичних явищ
Спектроскоп. Спостереження оптичних явищ
 

Theme23-oop2(end)

  • 1. Наслідування класів Наслідування на рівні об’єктів ми задавали через __proto__ . На рівні класів це можна роботи так: ChildClass.prototype = Object.create(ParentClass.prototype); Наприклад: Fox.prototype = Object.create(Animal.prototype);
  • 2. Розглянемо на прикладі Animal і його нащадка Fox. function Animal(name) { this.name = name; this.mass = 1; } Animal.prototype.sayHi = function() { alert( "Привіт, мене звати " + this.name ); } function Fox(name) { this.name = name; this.mass = 1; } Fox.prototype = Object.create(Animal.prototype); // успадковування Fox.prototype.cheat = function() { alert( "Ходи до мене ближче, щоб я краще чула" ); } var fox = new Fox("Лисичка-сестричка"); alert(fox.mass); fox.cheat();
  • 3. Слід подбати, щоб Fox.prototype = Object.create(Animal.prototype); було зразу після конструктора нащадка, інакше перезаписалися б всі нові методи нащадка (у нас – cheat() ). Легко бачити, що у Animal і Fox повторюються код this.name = name; this.mass = 1; Щоб цього уникнути, можна викликати код з Animal: function Fox(name) { Animal.apply(this, arguments); }
  • 4. При потребі у класі-нащадку можна перевизначити деякі методи з батьківського класу. Наприклад: Fox.prototype.sayHi = function() { alert( "Привіт, красунчику. Познайомимось ближче?" ); }
  • 5. Задача 91 Напишіть клас Animal і його нащадки – класи Hare, Wolf, Bear, Fox, які б відображали основні риси тварин з казки про колобка. Виконайте наочну графічну реалізацію екземплярів класу.