Книга: Погружение в Паттерны Проектирования
Назад: Благодарности
Дальше: Краеугольные камни ООП
. Паралельно я расскажу об UML-диаграммах, которых в этой книге огромное множество. Если вы уже всё это знаете — смело приступайте к .

ВВЕДЕНИЕ В ООП

Вспоминаем ООП

Объектно-ориентированное программирование — это методология программирования, в которой все важные вещи представлены объектами, каждый из которых является экземпляром определенного класса, а классы образуют иерархию наследования.

Объекты, классы

Вы любите котиков? Надеюсь да, потому что я попытаюсь объяснить все эти вещи на примерах с котами.

UML-диаграмма класса

Это UML-диаграмма класса. В книге будет много таких диаграмм.

Итак, у вас есть кот Пушистик. Он является объектом класса Кот. Все коты имеют одинаковый набор свойств — имя, пол, возраст, вес, цвет, любимая еда и прочее. Кроме того, они ведут себя похожим образом: бегают, дышат, спять, едят и мурчат.

Мурка, кошка вашей подруги, тоже является экземпляром класса Кот. Она имеет такой же набор поведений и свойств, что и Пушистик, а отличается от него лишь значениями этих свойств — она другого пола, имеет другой окрас, вес и т.д.

Объекты это экземпляры классов

Объекты — это экземпляры классов.

Итак, класс — это своеобразный «чертёж», по которому строятся объекты — экземпляры этого класса.

Иерархии классов

Идём дальше. У вашего соседа есть собака Жучка. Как известно, и собаки, и коты имеют много общего — имя, пол, возраст, цвет есть не только у котов, но и у собак. Да и бегать, дышать, спать и есть могут не только коты. Получается, эти свойства и поведения присущи общему классу Животных.

UML-диаграмма иерархии классов

UML-диаграмма иерархии классов. Все классы на этой диаграмме являются частью иерархии Животных.

Такой родительский класс принято называет суперклассом, а его потомков — подклассами. Подклассы наследуют свойства и поведения своего родителя, поэтому в них содержится лишь то, чего нет в суперклассе. Например, только коты могут мурчать, а собаки — лаять.

Мы можем пойти дальше, и выделить ещё более общий класс живых Организмов, который будет родительским и для Животных, и для Рыб. Такую «пирамиду» классов обычно называют иерархией. Класс Котов унаследует всё как из Животных, так из Оганизмов.

UML-диаграмма иерархии классов

Классы на UML-диаграмме можно упрощать, если важно показать отношения между ними.

Следует упомянуть, что подклассы могут переопределять поведение методов, которые им достались от суперкласса. При этом, они могут как полностью заменить поведение метода, так и просто добавить что-то к результату выполнения родительского метода.

Назад: Благодарности
Дальше: Краеугольные камни ООП

asd
asdda