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

More Related Content

What's hot

Advance oops concepts
Advance oops conceptsAdvance oops concepts
Advance oops concepts
Sangharsh agarwal
 
Java Collections Framework
Java Collections FrameworkJava Collections Framework
Java Collections Framework
Sony India Software Center
 
Java 8 date & time api
Java 8 date & time apiJava 8 date & time api
Java 8 date & time api
Rasheed Waraich
 
Let us understand design pattern
Let us understand design patternLet us understand design pattern
Let us understand design pattern
Mindfire Solutions
 
concept of oops
concept of oopsconcept of oops
concept of oops
prince sharma
 
Collections framework in java
Collections framework in javaCollections framework in java
Collections framework in java
yugandhar vadlamudi
 
Sql
SqlSql
Sql Tutorials
Sql TutorialsSql Tutorials
Sql Tutorials
Priyabrat Kar
 
SQL Queries
SQL QueriesSQL Queries
SQL Queries
Nilt1234
 
Classes and Objects in C#
Classes and Objects in C#Classes and Objects in C#
Classes and Objects in C#
Adeel Rasheed
 
Spring Framework - AOP
Spring Framework - AOPSpring Framework - AOP
Spring Framework - AOP
Dzmitry Naskou
 
Composite Design Pattern
Composite Design PatternComposite Design Pattern
Composite Design Pattern
Ferdous Mahmud Shaon
 
String classes and its methods.20
String classes and its methods.20String classes and its methods.20
String classes and its methods.20
myrajendra
 
Введение в архитектуры нейронных сетей / HighLoad++ 2016
Введение в архитектуры нейронных сетей / HighLoad++ 2016Введение в архитектуры нейронных сетей / HighLoad++ 2016
Введение в архитектуры нейронных сетей / HighLoad++ 2016
Grigory Sapunov
 
Nested class in java
Nested class in javaNested class in java
Nested class in java
ChiradipBhattacharya
 
Builder Design Pattern (Generic Construction -Different Representation)
Builder Design Pattern (Generic Construction -Different Representation)Builder Design Pattern (Generic Construction -Different Representation)
Builder Design Pattern (Generic Construction -Different Representation)
Sameer Rathoud
 
UML-Einführung: Darstellung von Klassen (Klassendiagramm)
UML-Einführung: Darstellung von Klassen (Klassendiagramm)UML-Einführung: Darstellung von Klassen (Klassendiagramm)
UML-Einführung: Darstellung von Klassen (Klassendiagramm)lehrerfreund
 
Classes and objects
Classes and objectsClasses and objects
Classes and objects
Anil Kumar
 
Object diagram
Object diagramObject diagram
Object diagram
Rahul Pola
 
Object Oriented Programming Concepts
Object Oriented Programming ConceptsObject Oriented Programming Concepts
Object Oriented Programming Concepts
thinkphp
 

What's hot (20)

Advance oops concepts
Advance oops conceptsAdvance oops concepts
Advance oops concepts
 
Java Collections Framework
Java Collections FrameworkJava Collections Framework
Java Collections Framework
 
Java 8 date & time api
Java 8 date & time apiJava 8 date & time api
Java 8 date & time api
 
Let us understand design pattern
Let us understand design patternLet us understand design pattern
Let us understand design pattern
 
concept of oops
concept of oopsconcept of oops
concept of oops
 
Collections framework in java
Collections framework in javaCollections framework in java
Collections framework in java
 
Sql
SqlSql
Sql
 
Sql Tutorials
Sql TutorialsSql Tutorials
Sql Tutorials
 
SQL Queries
SQL QueriesSQL Queries
SQL Queries
 
Classes and Objects in C#
Classes and Objects in C#Classes and Objects in C#
Classes and Objects in C#
 
Spring Framework - AOP
Spring Framework - AOPSpring Framework - AOP
Spring Framework - AOP
 
Composite Design Pattern
Composite Design PatternComposite Design Pattern
Composite Design Pattern
 
String classes and its methods.20
String classes and its methods.20String classes and its methods.20
String classes and its methods.20
 
Введение в архитектуры нейронных сетей / HighLoad++ 2016
Введение в архитектуры нейронных сетей / HighLoad++ 2016Введение в архитектуры нейронных сетей / HighLoad++ 2016
Введение в архитектуры нейронных сетей / HighLoad++ 2016
 
Nested class in java
Nested class in javaNested class in java
Nested class in java
 
Builder Design Pattern (Generic Construction -Different Representation)
Builder Design Pattern (Generic Construction -Different Representation)Builder Design Pattern (Generic Construction -Different Representation)
Builder Design Pattern (Generic Construction -Different Representation)
 
UML-Einführung: Darstellung von Klassen (Klassendiagramm)
UML-Einführung: Darstellung von Klassen (Klassendiagramm)UML-Einführung: Darstellung von Klassen (Klassendiagramm)
UML-Einführung: Darstellung von Klassen (Klassendiagramm)
 
Classes and objects
Classes and objectsClasses and objects
Classes and objects
 
Object diagram
Object diagramObject diagram
Object diagram
 
Object Oriented Programming Concepts
Object Oriented Programming ConceptsObject Oriented Programming Concepts
Object Oriented Programming Concepts
 

Viewers also liked

Java. Конструкторы класса и инициализация
Java. Конструкторы класса и инициализация Java. Конструкторы класса и инициализация
Java. Конструкторы класса и инициализация
Unguryan Vitaliy
 
Java. Методы
Java. Методы Java. Методы
Java. Методы
Unguryan Vitaliy
 
Алгоритмы поиска и сортировки
Алгоритмы  поиска и сортировкиАлгоритмы  поиска и сортировки
Алгоритмы поиска и сортировки
Unguryan Vitaliy
 
Java. Массивы. Многомерные массивы.
Java. Массивы. Многомерные массивы.Java. Массивы. Многомерные массивы.
Java. Массивы. Многомерные массивы.
Unguryan Vitaliy
 
Java. Строки. Класс String.
Java. Строки. Класс String.Java. Строки. Класс String.
Java. Строки. Класс String.
Unguryan Vitaliy
 
Java. Циклы.
Java. Циклы.Java. Циклы.
Java. Циклы.
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 Java
Abhishek 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
 
List - списки
List - списки List - списки
List - списки
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
 
Stream API
Stream APIStream API
Stream API
Unguryan Vitaliy
 
Архитектурный шаблон MVC
Архитектурный шаблон MVCАрхитектурный шаблон MVC
Архитектурный шаблон MVC
Unguryan Vitaliy
 
Работа в команде, управление программными проектами
Работа в команде, управление программными проектамиРабота в команде, управление программными проектами
Работа в команде, управление программными проектами
Unguryan Vitaliy
 
Системы контроля версий
Системы контроля версийСистемы контроля версий
Системы контроля версий
Unguryan Vitaliy
 
Принципы SOLID
Принципы SOLIDПринципы SOLID
Принципы SOLID
Unguryan Vitaliy
 
Парадигма объектно-ориентированного программирования.
Парадигма объектно-ориентированного программирования.Парадигма объектно-ориентированного программирования.
Парадигма объектно-ориентированного программирования.
Unguryan Vitaliy
 
Введение в язык программирования «Java»
Введение в язык программирования «Java»Введение в язык программирования «Java»
Введение в язык программирования «Java»
Unguryan Vitaliy
 
Шаблоны проектирования GoF
Шаблоны проектирования GoFШаблоны проектирования GoF
Шаблоны проектирования GoF
Unguryan Vitaliy
 
Ввведение в java
Ввведение в javaВвведение в java
Ввведение в java
Unguryan Vitaliy
 
Введение в hibernate
Введение в hibernateВведение в hibernate
Введение в hibernate
Unguryan Vitaliy
 
Spring AOP
Spring AOPSpring AOP
Spring AOP
Unguryan Vitaliy
 
Введение в Spring
Введение в SpringВведение в Spring
Введение в Spring
Unguryan Vitaliy
 
Cookies, session и другое в JSP
Cookies, session и другое в JSPCookies, session и другое в JSP
Cookies, session и другое в JSP
Unguryan Vitaliy
 
JSTL
JSTLJSTL
JSP
JSPJSP
JDBC
JDBCJDBC
Сервлеты
СервлетыСервлеты
Сервлеты
Unguryan 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. Инкапсуляция.