Объекты часто очень похожи, имеют общие функции, но не совсем одинаковы. Инкапсуляция защищает объект от нежелательного доступа клиентов. Вот так, взаимодействуя между собой, существует наш мир.
Например, использование абстракции ввода-вывода позволяет создавать безопасные и надежные программы, которые могут обрабатывать данные без риска возникновения ошибок или утечек информации. Таким образом, использование абстракции в ООП позволяет создавать гибкие и расширяемые программы, которые могут быть адаптированы к различным ситуациям и условиям. Как видите, здесь нет абсолютно никаких деталей реализации, не говорится, как собака должна лаять, шевелить хвостом или есть.
Абстракция данных
При этом производные классы наследуют свойства и методы родительских классов. Ниже приводится фрагмент иерархии классов MFC в том виде, как он изображен в соответствующей документации (рис. 1.3). Можете думать о нем как об еще одномоблегчителе работы. Вы уже знаете, что благодаря классам и объектам Вы можете не прописывать код каждый раз заново, а просто создавать объекты класса. Наследованиепозволяетэкономить время при создании нового класса.Представьте, что у Вас есть класс “Кошка”.
То есть по умолчанию в среде разработки на этом языке класс объявляется как private. Методы – это набор действий объекта (его поведение), который также определяется классом и служит для взаимодействия между объектами. В объектно-ориентированном программировании (ООП) – класс это основной элемент, в рамках которого осуществляется конструирование программ. Класс содержит в себе данные и код, который управляет этими данными. Если я в чем-то ошибся описывая 4 принципа ООП в Java или вы чего-то не поняли про объектно ориентированное программирование Java, напишите об этом в комментариях. В результате можно сказать что метод – это одно строго запрограммированное действие которое можно выполнять над объектами.
Руководство по Java Core. Инкапсуляция.
Получается, что, класс – это абстракция, а объект – конкретная сущность, свойства которой уникальны и отличают ее от остальных объектов. Объект в ООП (экземпляр) – это представитель класса, который имеет свои свойства и поведение, определяемое классом. Объект представляет собой изолированный блок, где хранится и преобразуется информация.
Давайте посмотрим на следующий пример наследования в java. Классы и объекты как основные формы абстракции в ООП определяют структуру и поведение объектов, а объекты представляют конкретные экземпляры классов. Классы определяют свойства (атрибуты) и действия (методы), которые могут быть выполнены объектами этого класса. Интерфейсы и абстрактные классы являются еще одним способом создания абстракции в ООП. Абстракция является мощнейшим средством программирования, которое позволяет создавать большие системы и поддерживать контроль над ними. Вряд ли мы когда-либо подошли бы хотя бы близко к сегодняшнему уровню программ, если бы не были вооружены таким инструментом.
Что такое абстракция в ООП?
Абстракция является основой ООП и позволяет работать с объектами, не вдаваясь в особенности реализации. Далее были рассмотрены данные и методы, которые и являются основной составляющей классов. Класс можно сравнить https://deveducation.com/ с чертежом дома по которому потом строится сам дом. По одному чертежу можно построить сколько угодно домов, собственно как и с помощью класса можно создать сколько угодно экземпляров этого класса, то есть объектов.
- В отличие от других языков оно не будет привязано к объекту, а просто будет означать объект, вызвавший функцию.
- Абстракция позволяет создавать более эффективные программы, которые могут работать с большими объемами данных и выполнять сложные операции быстрее.
- Под полиморфизмом (греч. Poly- много, morfos – форма) понимают свойство некоторых объектов принимать различные внешние формы в зависимости от обстоятельств.
- На заводе по выпуску автомобилей необходимо модернизировать модельный ряд и добавить туда новые функции.
- Примером использования абстракции в ООП может служить создание класса «Фигуры», который определяет общие свойства и методы для всех видов фигур (круг, квадрат, треугольник и т.д.).
Курс состоит из 30 подробных видео уроков, общая продолжительность которых свыше 8 часов. Также вы получите 15 готовых проектов (исходных программных кодов) NetBeans и свыше 50 домашних заданий, с детальным разбором, которые вы будете выполнять после каждого урока. Вы получите возможность пройти онлайн-тест, который поможет https://deveducation.com/blog/obektno-orientirovannoe-programmirovanie-kak-sdelat-slozhnye-zadachi-prostymi/ вам объективно оценить свои знания. Автор и преподаватель ряда профессиональных курсов программирования Компьютерной школы Одесской политехники. Курс рассчитан как на начинающих программистов, так и программистов с опытом работы на других языках, желающих освоить платформу Java либо систематизировать свои знания.
Какие основные понятия объектно-ориентированного программирования
Реализация скрывает или маскирует от других объектов все детали, не имеющие отношения к процессу взаимодействия объектов (рис. 1.5). Если продолжить рассмотрение примера с классом “Легковой автомобиль”, то нетрудно проиллюстрировать инкапсуляцию следующим образом. Основным субъектом, который взаимодействует с этим классом, является водитель. Вполне очевидно, что не каждый водитель в совершенстве знает внутреннее устройство легкового автомобиля. Более того, отдельные детали этого устройства сознательно скрыты в корпусе двигателя или в коробке передач. А в случае нарушения работы автомобиля, являющейся причиной неадекватности его поведения, необходимый ремонт выполняет профессиональный механик.
Было бы правильно в ООП вместо термина класс объектов использовать термин тип объекта. Однажды, съехав с правильной терминологии, вернуться в лоно правильных терминов оказывается очень трудно. Высокий уровень абстракции — сервировка праздничного стола, где этот самый пирог лишь одно из многих праздничных блюд. Средний уровень абстракции — соединение всех ингредиентов и выпечка пирога. Это позволяет упростить сложные концепции, улучшить понимание кода и управлять его сложностью.
Инкапсуляция в Java
Доклад начался с рассмотрения основного понятия ООП. Необъятный поток информации, оставленный вне внимания читателя, совершенно не влияет на результат — мы действительно добрались практически до конца «букваря UML». Технологические нюансы, множество больших и маленьких проблем UML-моделирования — это уже не для букваря. Тем более если учесть присущую ООП-миру моду на «страшную» терминологию, подкрепляемую поразительно изощренным разрывом между синтаксисом и семантикой используемых определении. Теперь можно не пугаться термина «язык», обычно применяемого к UML. Забивать голову всякими ключевыми словами и именами процедур здесь не придется.
Что такое объектно-ориентированное программирование: мир и небольшие человечки
Таким образом, в ней можно работать изолированно, а доступ одних компонентов к другим ограничен. Это особенно важная опция при совместной работе разных программистов над продуктом. Применяя инкапсуляцию ООП, специалист «прячет» в свой раздел ПО часть данных, которую никто не сможет увидеть и изменить. В поле зрения остается тот функционал, который нужен для совместной работы.