Инкапсуляция
Last updated: 3 мая 2025 г.ООП стоит на трех столпах – Инкапсуляция
, Полиморфизм
, Наследование
.
Начнем с первого.
Инкапсуляция – это сокрытие деталей реализации класса от того, кто создает объект этого класса и пользуется им.
То есть тому, кто создал объект класса и пользуется им, не обязательно знать как объект реализован внутри, он может просто пользоваться полями и методами объекта даже не видев ни разу сам класс по которому был создан данный объект.
То есть тому, кто создал и пользуется классом кошки не обязательно видеть класс кошки.
Также инкапсуляция значит защиту данных класса от другого внешнего кода, никак не относящемуся по отношению к данному классу.
То есть, например, класс кошки не должен иметь доступ к полям класса собаки, это разные животные, поэтому то мы и отделили их в разные классы, чтобы у них был ограниченный доступ друг к другу.
Простейший пример инкапсуляции:
1class Cat{
2 String name;
3 String color;
4
5 Cat (String catName, String catColor) {
6 name = catName;
7 color = catColor;
8 }
9
10 void sayMeow(){
11 System.out.println("Meow");
12 }
13}
14
15class Dog {
16 //Отсюда классу Dog не доступны поля кошки name и color,
17 //а также метод sayMeow. То есть в этом классе нельзя
18 //использовать содержимое класса Cat.
19 String name;
20 String color;
21
22 Dog (String dogName, String dogColor) {
23 name = dogName;
24 color = dogColor;
25 }
26
27 void sayWuf(){
28 System.out.println("Wuf");
29 }
30}
31
32class Incapsulation {
33 public static void main(String[] args) {
34 Cat somecat = new Cat("Barsik", "White");
35 System.out.println(somecat.name);
36 }
37}
Следующие уроки
Модификаторы доступа
12
мин.
Свойства в ООП (getters, setters)
14
мин.
Наследование в Java
15
мин.