SlideShare a Scribd company logo
1 of 15
ООП Инкапсуляция
Виталий Унгурян
unguryan@itstep.org
Инкапсуляция
Инкапсуляция – это механизм,
связывающий вместе данные и код,
которыми он манипулирует, а так
же одновременно защищающий их
от произвольного доступа со
стороны другого кода, внешнего по
отношению к рассматриваемому.
Инкапсуляция
Доступ к коду и данным жестко
контролируется интерфейсом.
Инкапсуляция (encapsulation) -
это механизм, который
объединяет данные и методы,
манипулирующий этими
данными, представляя
интерфейс доступа к данным и
скрывая реализацию.
Инкапсуляция
Не понятно, как
взаимодействовать с
объектом. Слишком много
не нужных деталей.
Основные цели инкапсуляции
Цель инкапсуляции — убрать
зависимость интерфейса
класса от его реализации.
Чтобы малейшее изменение в
классе не влекло за собой
изменение внешнего поведения
класса.
Цели инкапсуляции
Предельная локализация
изменений при необходимости
таких изменений.
Цели инкапсуляции
Прогнозируемость изменений
(какие изменения в коде надо
сделать для заданного изменения
функциональности) и
прогнозируемость последствий
изменений.
Цели инкапсуляции
Обеспечить безопасность
использования объектов класса,
сделав общедоступными только те
методы обработки информации,
которые не могут испортить
(привести к некоректному
значению) или удалить данные
объекта.
Цели инкапсуляции
Уменьшить сложность работы с
объектами класса, скрыв от
внешнего мира ненужные детали
реализации.
Модификатор доступа –
установливает какие части
программы могут получить доступ
к членам класса.
Модификаторы доступа
• private (закрытый)
• package-private (доступ по
умолчанию, когда модификатор
не указан)
• protected (защищённый)
• public (открытый)
Модификаторы доступа
Уровень закрытости

More Related Content

What's hot

Design Patterns
Design PatternsDesign Patterns
Design Patterns
soms_1
 

What's hot (20)

Java. Интерфейс Map - ассоциативные массивы.
Java. Интерфейс Map - ассоциативные массивы.Java. Интерфейс Map - ассоциативные массивы.
Java. Интерфейс Map - ассоциативные массивы.
 
Java collections
Java collectionsJava collections
Java collections
 
String.ppt
String.pptString.ppt
String.ppt
 
Введение в hibernate
Введение в hibernateВведение в hibernate
Введение в hibernate
 
Java API
Java APIJava API
Java API
 
Introduction to oop and java fundamentals
Introduction to oop and java fundamentalsIntroduction to oop and java fundamentals
Introduction to oop and java fundamentals
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 
Collections Api - Java
Collections Api - JavaCollections Api - Java
Collections Api - Java
 
C# Framework class library
C# Framework class libraryC# Framework class library
C# Framework class library
 
11. Java Objects and classes
11. Java  Objects and classes11. Java  Objects and classes
11. Java Objects and classes
 
File handling in c++
File handling in c++File handling in c++
File handling in c++
 
Java Multiple Choice Questions and Answers
Java Multiple Choice Questions and AnswersJava Multiple Choice Questions and Answers
Java Multiple Choice Questions and Answers
 
Constructor ppt
Constructor pptConstructor ppt
Constructor ppt
 
Generics and collections in Java
Generics and collections in JavaGenerics and collections in Java
Generics and collections in Java
 
Java Stack Data Structure.pptx
Java Stack Data Structure.pptxJava Stack Data Structure.pptx
Java Stack Data Structure.pptx
 
JavaScript Object Notation (JSON)
JavaScript Object Notation (JSON)JavaScript Object Notation (JSON)
JavaScript Object Notation (JSON)
 
Uml
UmlUml
Uml
 
Inheritance In Java
Inheritance In JavaInheritance In Java
Inheritance In Java
 
Corba
CorbaCorba
Corba
 
Introduction to SQL..pdf
Introduction to SQL..pdfIntroduction to SQL..pdf
Introduction to SQL..pdf
 

Viewers also liked

Viewers also liked (20)

Java. Конструкторы класса и инициализация
Java. Конструкторы класса и инициализация Java. Конструкторы класса и инициализация
Java. Конструкторы класса и инициализация
 
Java. Методы
Java. Методы Java. Методы
Java. Методы
 
Java. Массивы. Многомерные массивы.
Java. Массивы. Многомерные массивы.Java. Массивы. Многомерные массивы.
Java. Массивы. Многомерные массивы.
 
Java. Строки. Класс String.
Java. Строки. Класс String.Java. Строки. Класс String.
Java. Строки. Класс String.
 
Java. Циклы.
Java. Циклы.Java. Циклы.
Java. Циклы.
 
An Introduction to JVM Internals and Garbage Collection in Java
An Introduction to JVM Internals and Garbage Collection in JavaAn Introduction to JVM Internals and Garbage Collection in Java
An Introduction to JVM Internals and Garbage Collection in Java
 
Java. Cистемы счислния, битовые операции
Java. Cистемы счислния, битовые операцииJava. Cистемы счислния, битовые операции
Java. Cистемы счислния, битовые операции
 
Java. Generic - шаблонные типы.
Java.  Generic - шаблонные типы.Java.  Generic - шаблонные типы.
Java. Generic - шаблонные типы.
 
Java. Наследование.
Java. Наследование.Java. Наследование.
Java. Наследование.
 
Java. Вложенные классы и интерфейсы.
Java. Вложенные классы и интерфейсы.Java. Вложенные классы и интерфейсы.
Java. Вложенные классы и интерфейсы.
 
Исключения и ошибки
Исключения и ошибкиИсключения и ошибки
Исключения и ошибки
 
List - списки
List - списки List - списки
List - списки
 
Java. Полиморфизм.
Java. Полиморфизм.Java. Полиморфизм.
Java. Полиморфизм.
 
Java. Интерфейс Reference - типы ссылок
Java. Интерфейс Reference -  типы ссылокJava. Интерфейс Reference -  типы ссылок
Java. Интерфейс Reference - типы ссылок
 
Java. Логические операторы, операторы ветвления.
Java. Логические операторы, операторы ветвления.Java. Логические операторы, операторы ветвления.
Java. Логические операторы, операторы ветвления.
 
Uml
UmlUml
Uml
 
Java. Интерфейс Queue - очередь
Java. Интерфейс Queue - очередьJava. Интерфейс Queue - очередь
Java. Интерфейс Queue - очередь
 
Java. Введение в коллекции. Классы обертки. Перечисленияю
Java. Введение в коллекции. Классы обертки.  ПеречисленияюJava. Введение в коллекции. Классы обертки.  Перечисленияю
Java. Введение в коллекции. Классы обертки. Перечисленияю
 
Java. Интерфейс Set - наборы (множества) и его реализации.
Java. Интерфейс Set - наборы (множества) и его реализации.Java. Интерфейс Set - наборы (множества) и его реализации.
Java. Интерфейс Set - наборы (множества) и его реализации.
 
Java. Переменные, типы данных, операторы
Java. Переменные, типы данных, операторыJava. Переменные, типы данных, операторы
Java. Переменные, типы данных, операторы
 

Similar to Java. Инкапсуляция.

Similar to Java. Инкапсуляция. (20)

Модуль
МодульМодуль
Модуль
 
Модуль
МодульМодуль
Модуль
 
Модуль
МодульМодуль
Модуль
 
Модуль
МодульМодуль
Модуль
 
Модуль
МодульМодуль
Модуль
 
Модуль
МодульМодуль
Модуль
 
Модуль
МодульМодуль
Модуль
 
Модуль
МодульМодуль
Модуль
 
Модуль
МодульМодуль
Модуль
 
Модуль
МодульМодуль
Модуль
 
Модуль
МодульМодуль
Модуль
 
Модуль
МодульМодуль
Модуль
 
Модуль
МодульМодуль
Модуль
 
Модуль
МодульМодуль
Модуль
 
Модуль
МодульМодуль
Модуль
 
Модуль
МодульМодуль
Модуль
 
Модуль
МодульМодуль
Модуль
 
Модуль
МодульМодуль
Модуль
 
Модуль
МодульМодуль
Модуль
 
Модуль
МодульМодуль
Модуль
 

More from Unguryan Vitaliy

Работа в команде, управление программными проектами
Работа в команде, управление программными проектамиРабота в команде, управление программными проектами
Работа в команде, управление программными проектами
Unguryan Vitaliy
 

More from Unguryan Vitaliy (20)

Модульное тестирование.
Модульное тестирование. Модульное тестирование.
Модульное тестирование.
 
Stream API
Stream APIStream API
Stream API
 
Архитектурный шаблон MVC
Архитектурный шаблон MVCАрхитектурный шаблон MVC
Архитектурный шаблон MVC
 
Работа в команде, управление программными проектами
Работа в команде, управление программными проектамиРабота в команде, управление программными проектами
Работа в команде, управление программными проектами
 
Системы контроля версий
Системы контроля версийСистемы контроля версий
Системы контроля версий
 
Принципы SOLID
Принципы SOLIDПринципы SOLID
Принципы SOLID
 
Введение в язык программирования «Java»
Введение в язык программирования «Java»Введение в язык программирования «Java»
Введение в язык программирования «Java»
 
Шаблоны проектирования GoF
Шаблоны проектирования GoFШаблоны проектирования GoF
Шаблоны проектирования GoF
 
Ввведение в java
Ввведение в javaВвведение в java
Ввведение в java
 
Spring AOP
Spring AOPSpring AOP
Spring AOP
 
Введение в Spring
Введение в SpringВведение в Spring
Введение в Spring
 
Cookies, session и другое в JSP
Cookies, session и другое в JSPCookies, session и другое в JSP
Cookies, session и другое в JSP
 
JSTL
JSTLJSTL
JSTL
 
JSP
JSPJSP
JSP
 
JDBC
JDBCJDBC
JDBC
 
Сервлеты
СервлетыСервлеты
Сервлеты
 
Сетевое взаимодействие
Сетевое взаимодействиеСетевое взаимодействие
Сетевое взаимодействие
 
Введение в сетевые технологии
Введение в сетевые технологииВведение в сетевые технологии
Введение в сетевые технологии
 
XML
XMLXML
XML
 
Рефлексия в java
Рефлексия в javaРефлексия в java
Рефлексия в java
 

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