Топ-100Инкапсуляция - CodOrbits
LogoCodOrbits

Раздел: ООП

Здесь вы познакомитесь с объектно-ориентированным программированием в Java: классы, наследование, инкапсуляция и полиморфизм и многое другое.

Все разделы
Иконка ООП

Инкапсуляция

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
мин.

Similar Articles Icon
Divider

Свойства в ООП (getters, setters)

14
мин.

Similar Articles Icon
Divider

Наследование в Java

15
мин.

Similar Articles Icon