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

More Related Content

What's hot

Classes and objects
Classes and objectsClasses and objects
Classes and objectsAnil Kumar
 
Indexing and-hashing
Indexing and-hashingIndexing and-hashing
Indexing and-hashingAmi Ranjit
 
The Object Model
The Object Model  The Object Model
The Object Model yndaravind
 
Object oreinted php | OOPs
Object oreinted php | OOPsObject oreinted php | OOPs
Object oreinted php | OOPsRavi Bhadauria
 
Inheritance, abstract class, interface
Inheritance, abstract class, interfaceInheritance, abstract class, interface
Inheritance, abstract class, interfaceIwanda Kusuma
 
Binary Search Tree
Binary Search TreeBinary Search Tree
Binary Search TreeZafar Ayub
 
Redux Form | ReactJS Tutorial for Beginners | React Redux Tutorial | ReactJS ...
Redux Form | ReactJS Tutorial for Beginners | React Redux Tutorial | ReactJS ...Redux Form | ReactJS Tutorial for Beginners | React Redux Tutorial | ReactJS ...
Redux Form | ReactJS Tutorial for Beginners | React Redux Tutorial | ReactJS ...Edureka!
 
12 multi-threading
12 multi-threading12 multi-threading
12 multi-threadingAPU
 
An Introduction To NoSQL & MongoDB
An Introduction To NoSQL & MongoDBAn Introduction To NoSQL & MongoDB
An Introduction To NoSQL & MongoDBLee Theobald
 
Лекция 2. Интерфейсы и абстрактные классы
Лекция 2. Интерфейсы и абстрактные классыЛекция 2. Интерфейсы и абстрактные классы
Лекция 2. Интерфейсы и абстрактные классыВиталий Емельянов
 
Data Structures - Lecture 9 [Stack & Queue using Linked List]
 Data Structures - Lecture 9 [Stack & Queue using Linked List] Data Structures - Lecture 9 [Stack & Queue using Linked List]
Data Structures - Lecture 9 [Stack & Queue using Linked List]Muhammad Hammad Waseem
 

What's hot (20)

Classes and objects
Classes and objectsClasses and objects
Classes and objects
 
Indexing and-hashing
Indexing and-hashingIndexing and-hashing
Indexing and-hashing
 
Inheritance C#
Inheritance C#Inheritance C#
Inheritance C#
 
The Object Model
The Object Model  The Object Model
The Object Model
 
Object oreinted php | OOPs
Object oreinted php | OOPsObject oreinted php | OOPs
Object oreinted php | OOPs
 
Inheritance, abstract class, interface
Inheritance, abstract class, interfaceInheritance, abstract class, interface
Inheritance, abstract class, interface
 
Introduction to mongodb
Introduction to mongodbIntroduction to mongodb
Introduction to mongodb
 
Binary Search Tree
Binary Search TreeBinary Search Tree
Binary Search Tree
 
Inheritance
InheritanceInheritance
Inheritance
 
Redux Form | ReactJS Tutorial for Beginners | React Redux Tutorial | ReactJS ...
Redux Form | ReactJS Tutorial for Beginners | React Redux Tutorial | ReactJS ...Redux Form | ReactJS Tutorial for Beginners | React Redux Tutorial | ReactJS ...
Redux Form | ReactJS Tutorial for Beginners | React Redux Tutorial | ReactJS ...
 
B and B+ tree
B and B+ treeB and B+ tree
B and B+ tree
 
SQL - מודל הנתונים
SQL - מודל הנתוניםSQL - מודל הנתונים
SQL - מודל הנתונים
 
Abstract data types
Abstract data typesAbstract data types
Abstract data types
 
12 multi-threading
12 multi-threading12 multi-threading
12 multi-threading
 
An Introduction To NoSQL & MongoDB
An Introduction To NoSQL & MongoDBAn Introduction To NoSQL & MongoDB
An Introduction To NoSQL & MongoDB
 
Lesson 5 php operators
Lesson 5   php operatorsLesson 5   php operators
Lesson 5 php operators
 
Gof design patterns
Gof design patternsGof design patterns
Gof design patterns
 
Лекция 2. Интерфейсы и абстрактные классы
Лекция 2. Интерфейсы и абстрактные классыЛекция 2. Интерфейсы и абстрактные классы
Лекция 2. Интерфейсы и абстрактные классы
 
sets and maps
 sets and maps sets and maps
sets and maps
 
Data Structures - Lecture 9 [Stack & Queue using Linked List]
 Data Structures - Lecture 9 [Stack & Queue using Linked List] Data Structures - Lecture 9 [Stack & Queue using Linked List]
Data Structures - Lecture 9 [Stack & Queue using Linked List]
 

Viewers also liked

Java. Конструкторы класса и инициализация
Java. Конструкторы класса и инициализация Java. Конструкторы класса и инициализация
Java. Конструкторы класса и инициализация Unguryan Vitaliy
 
Алгоритмы поиска и сортировки
Алгоритмы  поиска и сортировкиАлгоритмы  поиска и сортировки
Алгоритмы поиска и сортировкиUnguryan Vitaliy
 
Java. Массивы. Многомерные массивы.
Java. Массивы. Многомерные массивы.Java. Массивы. Многомерные массивы.
Java. Массивы. Многомерные массивы.Unguryan Vitaliy
 
Java. Строки. Класс String.
Java. Строки. Класс String.Java. Строки. Класс String.
Java. Строки. Класс String.Unguryan Vitaliy
 
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 JavaAbhishek Asthana
 
Java. Cистемы счислния, битовые операции
Java. Cистемы счислния, битовые операцииJava. Cистемы счислния, битовые операции
Java. Cистемы счислния, битовые операцииUnguryan Vitaliy
 
Java. Generic - шаблонные типы.
Java.  Generic - шаблонные типы.Java.  Generic - шаблонные типы.
Java. Generic - шаблонные типы.Unguryan Vitaliy
 
Java. Наследование.
Java. Наследование.Java. Наследование.
Java. Наследование.Unguryan Vitaliy
 
Java. Вложенные классы и интерфейсы.
Java. Вложенные классы и интерфейсы.Java. Вложенные классы и интерфейсы.
Java. Вложенные классы и интерфейсы.Unguryan Vitaliy
 
Исключения и ошибки
Исключения и ошибкиИсключения и ошибки
Исключения и ошибкиUnguryan Vitaliy
 
Java. Полиморфизм.
Java. Полиморфизм.Java. Полиморфизм.
Java. Полиморфизм.Unguryan Vitaliy
 
Java. Интерфейс Reference - типы ссылок
Java. Интерфейс Reference -  типы ссылокJava. Интерфейс Reference -  типы ссылок
Java. Интерфейс Reference - типы ссылокUnguryan Vitaliy
 
Java. Логические операторы, операторы ветвления.
Java. Логические операторы, операторы ветвления.Java. Логические операторы, операторы ветвления.
Java. Логические операторы, операторы ветвления.Unguryan Vitaliy
 
Java. Интерфейс Map - ассоциативные массивы.
Java. Интерфейс Map - ассоциативные массивы.Java. Интерфейс Map - ассоциативные массивы.
Java. Интерфейс Map - ассоциативные массивы.Unguryan Vitaliy
 
Java. Интерфейс Queue - очередь
Java. Интерфейс Queue - очередьJava. Интерфейс Queue - очередь
Java. Интерфейс Queue - очередьUnguryan Vitaliy
 
Java. Введение в коллекции. Классы обертки. Перечисленияю
Java. Введение в коллекции. Классы обертки.  ПеречисленияюJava. Введение в коллекции. Классы обертки.  Перечисленияю
Java. Введение в коллекции. Классы обертки. ПеречисленияюUnguryan Vitaliy
 

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. Логические операторы, операторы ветвления.
 
Java. Интерфейс Map - ассоциативные массивы.
Java. Интерфейс Map - ассоциативные массивы.Java. Интерфейс Map - ассоциативные массивы.
Java. Интерфейс Map - ассоциативные массивы.
 
Uml
UmlUml
Uml
 
Java. Интерфейс Queue - очередь
Java. Интерфейс Queue - очередьJava. Интерфейс Queue - очередь
Java. Интерфейс Queue - очередь
 
Java. Введение в коллекции. Классы обертки. Перечисленияю
Java. Введение в коллекции. Классы обертки.  ПеречисленияюJava. Введение в коллекции. Классы обертки.  Перечисленияю
Java. Введение в коллекции. Классы обертки. Перечисленияю
 

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

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

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

More from Unguryan Vitaliy

Модульное тестирование.
Модульное тестирование. Модульное тестирование.
Модульное тестирование. Unguryan Vitaliy
 
Архитектурный шаблон MVC
Архитектурный шаблон MVCАрхитектурный шаблон MVC
Архитектурный шаблон MVCUnguryan Vitaliy
 
Работа в команде, управление программными проектами
Работа в команде, управление программными проектамиРабота в команде, управление программными проектами
Работа в команде, управление программными проектамиUnguryan Vitaliy
 
Системы контроля версий
Системы контроля версийСистемы контроля версий
Системы контроля версийUnguryan Vitaliy
 
Парадигма объектно-ориентированного программирования.
Парадигма объектно-ориентированного программирования.Парадигма объектно-ориентированного программирования.
Парадигма объектно-ориентированного программирования.Unguryan Vitaliy
 
Введение в язык программирования «Java»
Введение в язык программирования «Java»Введение в язык программирования «Java»
Введение в язык программирования «Java»Unguryan Vitaliy
 
Шаблоны проектирования GoF
Шаблоны проектирования GoFШаблоны проектирования GoF
Шаблоны проектирования GoFUnguryan Vitaliy
 
Ввведение в java
Ввведение в javaВвведение в java
Ввведение в javaUnguryan Vitaliy
 
Введение в hibernate
Введение в hibernateВведение в hibernate
Введение в hibernateUnguryan Vitaliy
 
Введение в Spring
Введение в SpringВведение в Spring
Введение в SpringUnguryan Vitaliy
 
Cookies, session и другое в JSP
Cookies, session и другое в JSPCookies, session и другое в JSP
Cookies, session и другое в JSPUnguryan Vitaliy
 
Сетевое взаимодействие
Сетевое взаимодействиеСетевое взаимодействие
Сетевое взаимодействие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
 
Введение в hibernate
Введение в hibernateВведение в hibernate
Введение в hibernate
 
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
 
Сервлеты
СервлетыСервлеты
Сервлеты
 
Сетевое взаимодействие
Сетевое взаимодействиеСетевое взаимодействие
Сетевое взаимодействие
 
Введение в сетевые технологии
Введение в сетевые технологииВведение в сетевые технологии
Введение в сетевые технологии
 

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