ООП в JavaScript: ключевые моменты для начинающих

ООП (Object-Oriented Programming) – это программная парадигма, в которой основной упор делается на объекты, взаимодействующие между собой и имеющие свойства и методы. ООП используется во многих языках программирования, включая JavaScript.

JavaScript – это мультипарадигмальный язык программирования, который поддерживает ООП и использует термины, понятия и инструменты ООП для работы с объектами.

Основными принципами ООП являются инкапсуляция, наследование и полиморфизм.

Инкапсуляция означает, что данные и методы объекта могут быть скрыты от других объектов и могут быть доступны только через публичные методы.

Пример кода:


class Person {
  constructor(firstName, lastName) {
    this.firstName = firstName;
    this.lastName = lastName;
  }
  
  getFullName() {
    return `${this.firstName} ${this.lastName}`;
  }
}
const person = new Person('John', 'Doe');
console.log(person.getFullName()); // Output: John Doe

В примере кода мы создаем класс Person и определяем его свойства (firstName и lastName) и метод getFullName(), который возвращает полное имя объекта.

Наследование позволяет создавать новые классы, которые наследуют свойства и методы из существующих классов.

Пример кода:


class Animal {
  constructor(name) {
    this.name = name;
  }
  
  speak() {
    console.log(`${this.name} makes a noise.`);
  }
}
class Dog extends Animal {
  speak() {
    console.log(`${this.name} barks.`);
  }
}
const dog = new Dog('Rufus');
dog.speak(); // Output: Rufus barks.

В примере кода мы создаем класс Animal с методом speak() и класс Dog, который наследует свойства и методы от класса Animal. Мы переопределяем метод speak() в классе Dog, чтобы он выводил другую строку, и создаем объект dog с помощью класса Dog, который вызывает переопределенный метод speak().

Полиморфизм позволяет использовать один и тот же метод для разных объектов.

Пример кода:


class Shape {
  getArea() {
    return 0;
  }
}
class Circle extends Shape {
  constructor(radius) {
    super();
    this.radius = radius;
  }
  
  getArea() {
    return Math.PI * this.radius ** 2;
  }
}
class Square extends Shape {
  constructor(width) {
    super();
    this.width = width;
  }
  
  getArea() {
    return this.width ** 2;
  }
}
const circle = new Circle(5);
console.log(circle.getArea()); // Output: 78.53981633974483
const square = new Square(5);
console.log(square.getArea()); // Output: 25

В примере кода мы создаем класс Shape с методом getArea() и создаем классы Circle и Square, которые наследуют свойства и методы от класса Shape. Мы переопределяем метод getArea() в классах Circle и Square, чтобы он возвращал площадь окружности и площадь квадрата соответственно. Создаем объекты circle и square с помощью классов Circle и Square, которые вызывают переопределенный метод getArea().

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

Похожие вопросы на: "ооп js "

Перечисление в Python: примеры и решения
CGO - Инновационная система государственного обслуживания
JSON Stringify: Как преобразовать объекты JavaScript в строки JSON?
Как выровнять текст на веб-странице: правила CSS
Масштабные модели Scale 1 1
Как использовать let в JavaScript: объявление переменных
Multi Mouse - Доступ к нескольким компьютерам с одной мышью
Опыт программирования на языке C: учебник, примеры и задачи
<h1>Backdrop Filter CSS
Как в CSS уменьшить картинку: лучшие способы и советы