UML-диаграмма иерархии классов. Все классы на этой диаграмме являются частью иерархии Животных.
Такой родительский класс принято называет суперклассом, а его потомков — подклассами. Подклассы наследуют свойства и поведения своего родителя, поэтому в них содержится лишь то, чего нет в суперклассе. Например, только коты могут мурчать, а собаки — лаять.
Мы можем пойти дальше, и выделить ещё более общий класс живых Организмов, который будет родительским и для Животных, и для Рыб. Такую «пирамиду» классов обычно называют иерархией. Класс Котов унаследует всё как из Животных, так из Оганизмов.
Классы на UML-диаграмме можно упрощать, если важно показать отношения между ними.
Следует упомянуть, что подклассы могут переопределять поведение методов, которые им достались от суперкласса. При этом, они могут как полностью заменить поведение метода, так и просто добавить что-то к результату выполнения родительского метода.
Краеугольные камни ООПООП имеет четыре главные концепции, которые отличают его от остальных методологий программирования.
АбстракцияКогда вы пишете программу, используя ООП, вы представляете её части через объекты реального мира. Но объекты в программе не повторяют в точности их реальные аналоги, да и это редко когда нужно. Вместо этого, объекты программы всего лишь моделируют поведение реальных объектов, важных в том или ином контексте, а остальные свойства реального объекта игнорируют.
Так, например, класс Самолёт будет актуален как для программы тренажёра пилотов, так и для программы бронирования авиабилетов, но в первом случае будут важны детали пилотирования самолёта, а во втором — лишь расположение и занятость мест внутри самолёта.
Разные модели одного и того же реального объекта.
Абстракция — это модель некоего объекта или явления реального мира, откидывающая незначительные детали, не играющие существенной роли в данном контексте.
ИнкапсуляцияКогда вы заводите автомобиль, вам достаточно повернуть ключи зажигания или нажать кнопку. Вам не нужно вручную соединять провода под капотом, поворачивать коленчатый вал и поршни, запуская такт двигателя. Все эти детали скрыты под капотом автомобиля. Вам доступен только простой интерфейс — кнопка зажигания, руль и педали. Таким образом, интерфейс — это публичная часть объекта, доступная остальным объектам.
Комментарии к книге «Погружение в паттерны проектирования», Александр Швец
Всего 0 комментариев