Ответ
Объектно-ориентированное программирование (ООП) основано на четырех фундаментальных принципах ("столпах"):
-
Абстракция — моделирование ключевых характеристик объекта, скрывая сложные детали реализации.
- Пример: Класс
Carс методамиstartEngine()иbrake(). Водителю не нужно знать, как именно работает двигатель.
- Пример: Класс
-
Инкапсуляция — объединение данных (полей) и методов для работы с ними в одной единице (классе), а также ограничение прямого доступа к внутреннему состоянию.
- Пример: Поле
private String secretдоступно только через публичный методgetSecret().class BankAccount { private double balance; // Скрытая деталь public double getBalance() { return balance; } // Контролируемый доступ }
- Пример: Поле
-
Наследование — механизм, позволяющий классу (потомку) заимствовать структуру и поведение другого класса (родителя), расширяя или изменяя его.
- Пример: Класс
Dog extends Animalнаследует общие свойства (возраст, вес) и может добавить свои (bark()).
- Пример: Класс
-
Полиморфизм — способность объектов с одинаковой спецификацией (интерфейсом или родительским классом) иметь различную реализацию.
- Пример через переопределение метода:
Animal myAnimal = new Dog(); myAnimal.makeSound(); // Вызовется Dog.makeSound() myAnimal = new Cat(); myAnimal.makeSound(); // Вызовется Cat.makeSound()
- Пример через переопределение метода:
Эти принципы совместно позволяют создавать гибкие, модульные и легко поддерживаемые системы.