objavlenie_klassa

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
objavlenie_klassa [2023/12/14 19:30]
tro
objavlenie_klassa [2023/12/14 20:06] (текущий)
tro [Успадкування класів extends]
Строка 81: Строка 81:
 </code> </code>
  
-====== Расширение других классов ====== 
-<code> 
-class numberArray extends Array { 
-    sum(){ 
-        return this.reduce((el,acc)=>acc+-el,0); 
-    } 
-} 
- 
-const myArray = new numberArray(2,3,5) 
-</code> 
 ====== Приватні властивості ====== ====== Приватні властивості ======
 Приватні властивості описувати зпочатку перед конструктором через знак **#** і звертатись до них також у середині класу. Приватні властивості описувати зпочатку перед конструктором через знак **#** і звертатись до них також у середині класу.
Строка 136: Строка 126:
 Comment.age = 10; Comment.age = 10;
 Console.log(Comment.age); Console.log(Comment.age);
 +</code>
 +====== Успадкування класів extends ======
 +  * **extends** - вказання що клас повинен наслідувати з іньшого класу
 +  * **super()** - всередині класу що буде приймате наслідувати вказує що сопчатку треба виконати супер-контруктор. Конструктор батьківського класу
 +<code>
 +//--Батьківкий клас
 +class Animal {
 +  constructor(name, age, pows){
 +    this.name = name;
 +    this.age = age;
 +    this.paws = pows;
 +  }
 +
 +sleep(){
 +  console.log('zzzz')
 +}
 +}
 +
 +
 +
 +//--наслідумо у класс Dog властивості та методи (по факту методи не копіюються але система по ланцюжку шука у батьківських поки не знайде) з класу Animal 
 +class Dog extends Animal {
 +  constructor (name, age, pows){
 +    super(name, age, pows);
 +    this.typevoice = '';
 +  }
 +
 +  satHello(){
 +    console.log('PowPow');
 +  }
 +
 +  }
 </code> </code>
  • /sites/data/attic/objavlenie_klassa.1702582244.txt.gz
  • Последнее изменение: 2023/12/14 19:30
  • tro