klasi

Различия

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

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

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