Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
objavlenie_klassa [2023/12/14 18:12] tro |
objavlenie_klassa [2023/12/14 20:06] (текущий) tro [Успадкування класів extends] |
||
|---|---|---|---|
| Строка 7: | Строка 7: | ||
| </ | </ | ||
| < | < | ||
| - | class Comment | + | user1 = new Comment(); |
| - | text=' | + | |
| - | age=25; | + | |
| } | } | ||
| </ | </ | ||
| - | По факту при возові **Comment** викликається конструктор. | + | По факту при возові |
| < | < | ||
| class Comment { | class Comment { | ||
| - | | + | |
| this.text = text; | this.text = text; | ||
| - | this.votesQty = 0; | + | this.votesQty = vot; |
| + | this.any = ' | ||
| } | } | ||
| | | ||
| Строка 25: | Строка 24: | ||
| } | } | ||
| </ | </ | ||
| + | < | ||
| + | user1 = new Comment(' | ||
| + | </ | ||
| + | |||
| ====== Объявление екземпляра класса ====== | ====== Объявление екземпляра класса ====== | ||
| < | < | ||
| Строка 41: | Строка 44: | ||
| < | < | ||
| Comment.prototype.constructor | Comment.prototype.constructor | ||
| + | </ | ||
| + | |||
| + | ====== Обявление статического властивості ====== | ||
| + | Ця властивість буде доступна как свойство только классаи НЕ наледуются всеми єкземплярами класса. т.е. он будет доступен как свойство только самого класса | ||
| + | < | ||
| + | class Comment { | ||
| + | constructor (text) { | ||
| + | | ||
| + | | ||
| + | } | ||
| + | |||
| + | | ||
| + | |||
| + | } | ||
| + | </ | ||
| + | < | ||
| + | fdf = Comment.pi; | ||
| </ | </ | ||
| ====== Обявление статического метода ====== | ====== Обявление статического метода ====== | ||
| Строка 61: | Строка 81: | ||
| </ | </ | ||
| - | ====== | + | ====== |
| + | Приватні властивості описувати зпочатку перед конструктором через знак **#** і звертатись до них також у середині | ||
| < | < | ||
| - | class numberArray extends Array { | + | class Comment |
| - | sum(){ | + | #maxSpeed = 300; |
| - | | + | |
| - | } | + | this.text = text; |
| + | this.votesQty = vot; | ||
| + | this.any = ' | ||
| + | } | ||
| + | |||
| + | ShowMaxSpeed() { | ||
| + | | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | < | ||
| + | user1 = new Comment(' | ||
| + | user1.ShowMaxSpeed(); | ||
| + | </ | ||
| + | ====== Геттери (get) та Сеттери (set) ====== | ||
| + | В більшості вони потрібні тільки для приватних властивостей, | ||
| + | <code> | ||
| + | class Comment { | ||
| + | #age= 30; | ||
| + | | ||
| + | this.text = text; | ||
| + | | ||
| + | this.any = ' | ||
| + | | ||
| + | |||
| + | set age(newValue){ | ||
| + | this.#age = newValue; | ||
| } | } | ||
| - | const myArray | + | get age(newValue){ |
| + | return this.# | ||
| + | } | ||
| + | |||
| + | } | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | Comment.age | ||
| + | Console.log(Comment.age); | ||
| + | </ | ||
| + | ====== Успадкування класів extends ====== | ||
| + | * **extends** - вказання що клас повинен наслідувати з іньшого класу | ||
| + | * **super()** - всередині класу що буде приймате наслідувати вказує що сопчатку треба виконати супер-контруктор. Конструктор батьківського класу | ||
| + | < | ||
| + | // | ||
| + | class Animal { | ||
| + | constructor(name, age, pows){ | ||
| + | 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(' | ||
| + | } | ||
| + | |||
| + | } | ||
| </ | </ | ||