Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия | |||
|
klasi [2023/11/21 19:41] tro |
klasi [2023/11/21 19:43] (текущий) tro |
||
|---|---|---|---|
| Строка 234: | Строка 234: | ||
| console.log(editor.email); | console.log(editor.email); | ||
| </ | </ | ||
| + | ===== Методи дочірнього класу ===== | ||
| + | Дочірній клас може використовувати методи та властивості батьківського класу. Крім цього, у дочірньому класі можна оголошувати методи, | ||
| + | < | ||
| + | // Уявімо, | ||
| + | class ContentEditor extends User { | ||
| + | constructor({ email, posts }) { | ||
| + | super(email); | ||
| + | this.posts = posts; | ||
| + | } | ||
| + | |||
| + | addPost(post) { | ||
| + | this.posts.push(post); | ||
| + | } | ||
| + | } | ||
| + | |||
| + | const editor = new ContentEditor({ | ||
| + | email: " | ||
| + | posts: [] | ||
| + | }); | ||
| + | |||
| + | console.log(editor); | ||
| + | |||
| + | editor.addPost(" | ||
| + | editor.addPost(" | ||
| + | console.log(editor.posts); | ||
| + | </ | ||
| + | У прикладі бачимо, | ||
| + | |||
| + | * User — це базовий клас, який має приватну властивість #email. | ||
| + | * ContentEditor розширює клас User і має власну властивість posts. Клас ContentEditor також має метод addPost, який дозволяє додавати нові повідомлення до posts. | ||