ООП (OOP) - Объектно-ориентированное программирование
Основные принципы ООП: абстракция, наследование, полиморфизм и инкапсуляция.
Абстракция
В ООП абстракция означает, что для каждого объекта мы задаём минимальное количество методов, полей и описаний, которые позволят нам решить задачу. Чем меньше характеристик, тем лучше абстракция, но ключевые характеристики убирать нельзя.
Чтобы работать с абстракциями, используют интерфейсы.
Интерфейсы — это действия над объектом, доступные другим объектам (поэтому они называются публичными).
Это базовые классы, которые можно наследовать, но нельзя реализовывать. То есть на их основе нельзя создать объект.
Пример такого класса из жизни — животное. Рыбы, пауки и насекомые являются животными, но каждое из них также принадлежит своему подклассу с набором специфических свойств. При этом, просто «животных» в природе не существует.