Основные принципы ООП:
Инкапсуляция - сокрытие реализации.
Наследование - создание новой сущности на базе уже существующей.
Полиморфизм - Один интерфейс, множество реализаций.
Рассмотрим более подробно каждый из них:
Инкапсуляция - позволяет объединить данные и методы работы с этими данными в классе, скрыв реализацию от пользователя. Пользователь работает, только с тем, что ему позволено.
Наследование - данный принцип подразумевает, что мы расширяем наследуемый класс, за счет класса родителя.
Наследование может иметь недостаток в виде того, что он может нарушать инкапсуляцию. Родительский класс может определять поведение дочернего класса, а это значит, что изменения класса родителя может сказаться на поведении дочернего.
Чтобы избежать данной проблемы, лучше использовать абстрактные классы или интерфейсы. Тогда потомок будет сам определять свое поведение.
Полиморфизм - Один интерфейс, множество реализаций. Возможность выбора вызываемого метода от предоставленной реализации.
По сути, созданный экземпляр класса определяет реализацию. Большая часть паттернов строится на принципах полиморфизма.
Данный принцип позволяет уменьшить связанность между классом клиентом и реализацией.
Посмотреть примеры можно тут:
https://gitlab.com/JavaBooster/object-oriented-programming/-/tree/main/src/main/java/principles
Выплаты, пособия от государства, экономические новости читать здесь: https://t.me/+fbTtq1Tpb_45NGUy