Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
objavlenie_klassa [2023/12/14 18:34] tro = |
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, | ||
| - | </ | ||
| ====== Приватні властивості ====== | ====== Приватні властивості ====== | ||
| - | Приватні властивості описувати зпочатку перед конструктором | + | Приватні властивості описувати зпочатку перед конструктором |
| < | < | ||
| class Comment { | class Comment { | ||
| Строка 85: | Строка 92: | ||
| } | } | ||
| | | ||
| - | | + | |
| - | this.votesQty += 1; | + | console.log(# |
| } | } | ||
| } | } | ||
| Строка 92: | Строка 99: | ||
| < | < | ||
| user1 = new Comment(' | user1 = new Comment(' | ||
| + | user1.ShowMaxSpeed(); | ||
| + | </ | ||
| + | ====== Геттери (get) та Сеттери (set) ====== | ||
| + | В більшості вони потрібні тільки для приватних властивостей, | ||
| + | < | ||
| + | class Comment { | ||
| + | #age= 30; | ||
| + | | ||
| + | this.text = text; | ||
| + | this.votesQty = vot; | ||
| + | this.any = ' | ||
| + | } | ||
| + | | ||
| + | set age(newValue){ | ||
| + | this.#age = newValue; | ||
| + | } | ||
| + | |||
| + | get age(newValue){ | ||
| + | return this.#age; | ||
| + | } | ||
| + | |||
| + | } | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | Comment.age = 10; | ||
| + | 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(' | ||
| + | } | ||
| + | |||
| + | } | ||
| </ | </ | ||