Визначення Методів у Класах JavaScript
Тепер, коли ми знаємо, як додавати властивості за допомогою конструктора, розглянемо, як додавати методи до класу.
Визначення та використання методів класу
Ці методи зазвичай працюють із властивостями об'єкта та надають спосіб взаємодії з його даними.
Щоб визначити метод класу, достатньо оголосити функцію всередині класу без використання ключового слова function.
class Animal {
constructor(name, type) {
this.name = name;
this.type = type;
}
// Class method
getInfo() {
return `${this.name} is a ${this.type} animal.`;
}
}
У цьому прикладі getInfo є методом класу Animal. Будь-який екземпляр Animal може викликати цей метод для отримання інформації про конкретний екземпляр.
Як методи асоціюються з екземплярами класу
Коли створюється екземпляр класу, методи, визначені всередині класу, автоматично стають доступними для цього екземпляра. Ці методи можуть отримувати доступ до властивостей екземпляра та змінювати їх за допомогою ключового слова this, яке посилається на поточний об'єкт.
Уявіть методи як інструменти, які кожен об'єкт (екземпляр) має із собою. Кожен об'єкт має власні дані (властивості), але використовує спільні інструменти (методи) для взаємодії з цими даними.
Розглянемо приклад:
1234567891011121314151617class Animal { constructor(name, type) { this.name = name; this.type = type; } // Class method getInfo() { return `${this.name} is a ${this.type} animal.`; } } const lion = new Animal('Lion', 'Wild'); console.log(lion.getInfo()); // Output: Lion is a Wild animal. const pig = new Animal('Pig', 'Domestic'); console.log(pig.getInfo()); // Output: Pig is a Domestic animal.
У цьому прикладі як lion, так і pig є екземплярами класу Animal. Метод getInfo доступний для обох і повертає різні результати залежно від властивостей конкретного екземпляра, для якого його викликають. Це демонструє, як методи спільні для всіх екземплярів, але працюють з даними, що належать кожному окремому об'єкту.
Навіщо використовувати методи класу?
Методи класу визначають поведінку, що є специфічною для об'єкта. Вони роблять код більш модульним, підтримуваним і створюють чіткий розподіл відповідальностей. Замість прямої роботи з властивостями об'єкта, методи класу забезпечують контрольований спосіб взаємодії та зміни даних об'єкта.
Приклад з методом, який змінює стан об'єкта:
1234567891011121314151617181920class Animal { constructor(name, type) { this.name = name; this.type = type; } getInfo() { return `${this.name} is a ${this.type} animal.`; } changeType(newType) { this.type = newType; } } const lion = new Animal('Lion', 'Wild'); console.log(lion.getInfo()); // Output: Lion is a Wild animal. lion.changeType('Domestic'); console.log(lion.getInfo()); // Output: Lion is a Domestic animal.
У цьому прикладі метод changeType дозволяє оновити властивість type об'єкта. Це демонструє, як методи можуть інкапсулювати логіку, що безпосередньо впливає на стан об'єкта.
1. Що таке метод класу?
2. Як у класі визначити метод з назвою speak, який може використовувати екземпляр?
3. Який результат виведе наступний код?
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Awesome!
Completion rate improved to 2.22
Визначення Методів у Класах JavaScript
Свайпніть щоб показати меню
Тепер, коли ми знаємо, як додавати властивості за допомогою конструктора, розглянемо, як додавати методи до класу.
Визначення та використання методів класу
Ці методи зазвичай працюють із властивостями об'єкта та надають спосіб взаємодії з його даними.
Щоб визначити метод класу, достатньо оголосити функцію всередині класу без використання ключового слова function.
class Animal {
constructor(name, type) {
this.name = name;
this.type = type;
}
// Class method
getInfo() {
return `${this.name} is a ${this.type} animal.`;
}
}
У цьому прикладі getInfo є методом класу Animal. Будь-який екземпляр Animal може викликати цей метод для отримання інформації про конкретний екземпляр.
Як методи асоціюються з екземплярами класу
Коли створюється екземпляр класу, методи, визначені всередині класу, автоматично стають доступними для цього екземпляра. Ці методи можуть отримувати доступ до властивостей екземпляра та змінювати їх за допомогою ключового слова this, яке посилається на поточний об'єкт.
Уявіть методи як інструменти, які кожен об'єкт (екземпляр) має із собою. Кожен об'єкт має власні дані (властивості), але використовує спільні інструменти (методи) для взаємодії з цими даними.
Розглянемо приклад:
1234567891011121314151617class Animal { constructor(name, type) { this.name = name; this.type = type; } // Class method getInfo() { return `${this.name} is a ${this.type} animal.`; } } const lion = new Animal('Lion', 'Wild'); console.log(lion.getInfo()); // Output: Lion is a Wild animal. const pig = new Animal('Pig', 'Domestic'); console.log(pig.getInfo()); // Output: Pig is a Domestic animal.
У цьому прикладі як lion, так і pig є екземплярами класу Animal. Метод getInfo доступний для обох і повертає різні результати залежно від властивостей конкретного екземпляра, для якого його викликають. Це демонструє, як методи спільні для всіх екземплярів, але працюють з даними, що належать кожному окремому об'єкту.
Навіщо використовувати методи класу?
Методи класу визначають поведінку, що є специфічною для об'єкта. Вони роблять код більш модульним, підтримуваним і створюють чіткий розподіл відповідальностей. Замість прямої роботи з властивостями об'єкта, методи класу забезпечують контрольований спосіб взаємодії та зміни даних об'єкта.
Приклад з методом, який змінює стан об'єкта:
1234567891011121314151617181920class Animal { constructor(name, type) { this.name = name; this.type = type; } getInfo() { return `${this.name} is a ${this.type} animal.`; } changeType(newType) { this.type = newType; } } const lion = new Animal('Lion', 'Wild'); console.log(lion.getInfo()); // Output: Lion is a Wild animal. lion.changeType('Domestic'); console.log(lion.getInfo()); // Output: Lion is a Domestic animal.
У цьому прикладі метод changeType дозволяє оновити властивість type об'єкта. Це демонструє, як методи можуть інкапсулювати логіку, що безпосередньо впливає на стан об'єкта.
1. Що таке метод класу?
2. Як у класі визначити метод з назвою speak, який може використовувати екземпляр?
3. Який результат виведе наступний код?
Дякуємо за ваш відгук!