Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
objavlenie_klassa [2023/12/14 19:07] tro [Геттери (get) та Сеттери (set)] |
objavlenie_klassa [2023/12/14 20:06] (текущий) tro [Успадкування класів extends] |
||
|---|---|---|---|
| Строка 44: | Строка 44: | ||
| < | < | ||
| Comment.prototype.constructor | Comment.prototype.constructor | ||
| + | </ | ||
| + | |||
| + | ====== Обявление статического властивості ====== | ||
| + | Ця властивість буде доступна как свойство только классаи НЕ наледуются всеми єкземплярами класса. т.е. он будет доступен как свойство только самого класса | ||
| + | < | ||
| + | class Comment { | ||
| + | constructor (text) { | ||
| + | | ||
| + | | ||
| + | } | ||
| + | |||
| + | | ||
| + | |||
| + | } | ||
| + | </ | ||
| + | < | ||
| + | fdf = Comment.pi; | ||
| </ | </ | ||
| ====== Обявление статического метода ====== | ====== Обявление статического метода ====== | ||
| Строка 64: | Строка 81: | ||
| </ | </ | ||
| - | ====== Расширение других классов ====== | ||
| - | < | ||
| - | class numberArray extends Array { | ||
| - | sum(){ | ||
| - | return this.reduce((el, | ||
| - | } | ||
| - | } | ||
| - | |||
| - | const myArray = new numberArray(2, | ||
| - | </ | ||
| ====== Приватні властивості ====== | ====== Приватні властивості ====== | ||
| Приватні властивості описувати зпочатку перед конструктором через знак **#** і звертатись до них також у середині класу. | Приватні властивості описувати зпочатку перед конструктором через знак **#** і звертатись до них також у середині класу. | ||
| Строка 95: | Строка 102: | ||
| </ | </ | ||
| ====== Геттери (get) та Сеттери (set) ====== | ====== Геттери (get) та Сеттери (set) ====== | ||
| + | В більшості вони потрібні тільки для приватних властивостей, | ||
| < | < | ||
| class Comment { | class Comment { | ||
| Строка 118: | Строка 126: | ||
| Comment.age = 10; | Comment.age = 10; | ||
| Console.log(Comment.age); | Console.log(Comment.age); | ||
| + | </ | ||
| + | ====== Успадкування класів extends ====== | ||
| + | * **extends** - вказання що клас повинен наслідувати з іньшого класу | ||
| + | * **super()** - всередині класу що буде приймате наслідувати вказує що сопчатку треба виконати супер-контруктор. Конструктор батьківського класу | ||
| + | < | ||
| + | // | ||
| + | class Animal { | ||
| + | constructor(name, | ||
| + | this.name = name; | ||
| + | this.age = age; | ||
| + | this.paws = pows; | ||
| + | } | ||
| + | |||
| + | sleep(){ | ||
| + | console.log(' | ||
| + | } | ||
| + | } | ||
| + | |||
| + | |||
| + | |||
| + | // | ||
| + | class Dog extends Animal { | ||
| + | constructor (name, age, pows){ | ||
| + | super(name, age, pows); | ||
| + | this.typevoice = ''; | ||
| + | } | ||
| + | |||
| + | satHello(){ | ||
| + | console.log(' | ||
| + | } | ||
| + | |||
| + | } | ||
| </ | </ | ||