objavlenie_klassa

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
objavlenie_klassa [2023/12/14 19:46]
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> 
 ====== Приватні властивості ====== ====== Приватні властивості ======
 Приватні властивості описувати зпочатку перед конструктором через знак **#** і звертатись до них також у середині класу. Приватні властивості описувати зпочатку перед конструктором через знак **#** і звертатись до них також у середині класу.
Строка 137: Строка 127:
 Console.log(Comment.age); Console.log(Comment.age);
 </code> </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>
  • /sites/data/attic/objavlenie_klassa.1702583193.txt.gz
  • Последнее изменение: 2023/12/14 19:46
  • tro