Скачано с сайта - https://supersliv.biz – Присоединяйся к лучшим
Урок 3.2: Объектно-ориентированное программирование: Наследование и Инкапсуляция
Скачано с сайта - https://supersliv.biz – Присоединяйся к лучшим
Цели урока:
- Понять основы объектно-ориентированного программирования (ООП) в контексте JavaScript.
- Изучить ключевые концепции ООП, такие как классы, объекты, наследование и инкапсуляция.
- Научиться создавать и использовать классы и объекты в JavaScript.
Скачано с сайта - https://supersliv.biz – Присоединяйся к лучшим
Введение
Объектно-ориентированное программирование — это парадигма программирования, основанная на концепции "объектов", которые могут содержать данные в виде полей (часто называемых атрибутами или свойствами) и код в виде процедур (часто называемых методами).
Скачано с сайта - https://supersliv.biz – Присоединяйся к лучшим
1. Классы и объекты
- Классы являются "чертежами" для создания объектов, предоставляя начальные значения состояния (атрибуты) и реализации поведения (методы).
- Объекты являются экземплярами классов. Каждый объект может иметь разные значения свойств, но использует одни и те же методы, определенные в классе.
- Создание класса и объектов в JavaScript:
class Person {
constructor(name, age) {
this.name = name;
this.age = age;
}
greet() {
console.log(`Привет, меня зовут ${this.name} и мне ${this.age} лет.`);
}
}
const person1 = new Person("Алиса", 30);
person1.greet(); // Привет, меня зовут Алиса и мне 30 лет.
Скачано с сайта - https://supersliv.biz – Присоединяйся к лучшим
2. Наследование
Наследование позволяет создавать новый класс на основе существующего, перенимая его свойства и методы. Это обеспечивает иерархию классов и повторное использование кода.
- Пример наследования:
class Employee extends Person {
constructor(name, age, position) {
super(name, age); // Вызов конструктора базового класса
this.position = position;
}
work() {
console.log(`${this.name} работает на должности ${this.position}.`);
}
}
const employee1 = new Employee("Боб", 25, "разработчик");
employee1.greet();
employee1.work();
Скачано с сайта - https://supersliv.biz – Присоединяйся к лучшим
3. Инкапсуляция
Инкапсуляция — это ограничение доступа к состоянию объекта, принудительное использование методов объекта для изменения этого состояния. Это помогает предотвратить непреднамеренные изменения состояния объекта.
- Пример инкапсуляции:
class BankAccount {
#balance; // Приватное свойство
constructor(initialBalance) {
this.#balance = initialBalance;
}
deposit(amount) {
if (amount > 0) {
this.#balance += amount;
console.log(`Баланс обновлен: ${this.#balance}`);
}
}
withdraw(amount) {
if (amount <= this.#balance) {
this.#balance -= amount;
console.log(`Баланс обновлен: ${this.#balance}`);
} else {
console.log("Недостаточно средств на счете.");
}
}
}
const account = new BankAccount(1000);
account.deposit(500);
account.withdraw(200);
Скачано с сайта - https://supersliv.biz – Присоединяйся к лучшим
Заключение
Объектно-ориентированное программирование в JavaScript предоставляет мощные инструменты для структурирования и организации кода. Использование классов, наследования и инкапсуляции позволяет создавать сложные и легко поддерживаемые веб-приложения. Понимание этих концепций является ключевым для любого разработчика, стремящегося к написанию чистого и эффективного кода.