3.2 ООП: Наследование и Инкапсуляция
8 из 8 шагов пройдено
7 из 7 баллов  получено

Скачано с сайта - 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 предоставляет мощные инструменты для структурирования и организации кода. Использование классов, наследования и инкапсуляции позволяет создавать сложные и легко поддерживаемые веб-приложения. Понимание этих концепций является ключевым для любого разработчика, стремящегося к написанию чистого и эффективного кода.


Будьте вежливы и соблюдайте наши принципы сообщества. Пожалуйста, не оставляйте решения и подсказки в комментариях, для этого есть отдельный форум.
Оставить комментарий
Нет обсуждений. Начните первое.