ООП основывается на трёх ключевых принципах: – Инкапсуляция
, Полиморфизм
, Наследование
.
Начнем с инкапсуляции.
Инкапсуляция означает сокрытие деталей реализации класса от внешнего кода, который просто использует этот класс.
Это означает, что тому, кто создал объект класса и пользуется им, совсем не обязательно знать его внутреннюю реализацию — достаточно понимания доступных методов и правил их использования. То есть можно работать с полями и методами объекта, даже не видя сам класс, из которого он создан.
Если вспомнить пример из прошлого урока про кошку, то тому кто создал и пользуется классом кошки не обязательно видеть класс кошки.
Также инкапсуляция значит защиту внутренних данных класса от другого кода, никак не относящемуся к данному классу.
То есть, например, класс кошки не должен иметь доступ к полям класса собаки, это разные животные, поэтому то мы и отделили их в разные классы, чтобы у них был ограниченный доступ друг к другу.
Простейший пример базовой инкапсуляции:
Это был бызовый пример инкапсуляции, но под инкапсуляцией также, конечно, имеют ввиду модификаторы доступа и свойства (геттеры, сеттеры), которые будут рассмотрены в следующих уроках.
Модификаторы доступа
Public и private в Java: как ограничивать доступ к полям и методам. Основы инкапсуляции и безопасность данных в ООП.
Свойства в ООП (getters, setters)
Геттеры и сеттеры в Java: зачем нужны, как работают с private полями, инкапсуляция данных и контроль доступа к свойствам класса.
Наследование в Java
Изучите наследование в Java: принцип повторного использования кода, ключевое слово extends, иерархия классов и доступ к полям родительского класса.