- •14.0. Структура программных продуктов ( пп ).
- •14.1. Структура модуля
- •Interface // Секция объявлений
- •Implementation // Секция реализации
- •14.2. Свойства модуля
- •15.0. Проектирование интерфейса пользователя
- •15.1. Диалоговый режим
- •15.2. Графический интерфейс пользователя
- •16. Объектно-ориентированное программирование (ооп)
- •16.1. Классы в Free Pascal
- •16.2. Основные принципы ооп
- •16.3. Графическая структура понятий оо Подхода
16.2. Основные принципы ооп
ООП включает в себя 3 основных принципа:
-
Инкапсуляция;
-
Наследование;
-
Полиморфизм.
Инкапсуляция – механизм сокрытия всех внутренних деталей объекта, не влияющих на его внешнее поведение. Это объединение объекта и методов работы с ним (или совмещение данных с методами в одном классе).
Класс приобретает определенную функциональность.
Каждый класс обладает свойствами предка, а способы реализации этого свойства заключены внутри класса.
Эти способы недоступны за пределами класса. Более того, классы ничего не знают друг о друге. Они полностью разделены. Т.о. объект “закрыт” и окружение не может случайно изменить этот объект.
С помощью инкапсуляции данные объекта могут быть защищены от других объектов. Для инкапсуляции характерен принцип сокрытия информации, что существенно облегчает написание больших и стабильно работающих приложений.
Класс, наследующий свойства другого класса, обладает теми же возможностями, что и класс, от которого он порожден. Этот принцип называется наследованием.
Наследование - создание объектов-потомков, которые обладают всеми свойствами объектов-предков. При наследовании объекты-потомки наследуют свойства объектов-предков и приобретают черты, характерные только для них самих.
Порожденный класс называется потомком, а тот, от которого он порожден – предком. У объекта может быть только один предок, но много потомков.
Объект-потомок наследует все описания и методы объекта-предка. Для него нужно описывать только дополнительные свойства.
Наследуемые свойства и методы можно использовать в неизменном виде или их переопределять (модифицировать).
Нельзя переопределять данные при наследовании. Данные можно только добавлять. С помощью наследования одни классы объектов могут происходить от других.
Возможно многоуровневое наследование. Механизм наследования позволяет многократно применять программный код, создавая иерархию классов.
Полиморфизм – это свойство классов решать схожие по смыслу проблемы разными способами.
Использование для разных объектов методов под одинаковыми именами, но с разным содержанием.
Это свойство, позволяющее одно и тоже имя процедуры использовать для решения нескольких разных задач. Например, щелочек по кнопке Button1Click().
Это достигается переопределением родительского метода в классе-потомке. Переопределение позволяет адресовать разным объектам одно и то же сообщение с разным исполнением.
Родитель и потомок ведут себя по-разному.
Один и тот же метод выполняется по-разному для различных объектов.
16.3. Графическая структура понятий оо Подхода
Все классы порождены от единого родителя – класса TObject. Этот класс не имеет полей и свойств, но включает в себя методы самого общего назначения, обеспечивающие жизненный цикл любых объектов – от их создания до уничтожения. Нельзя создать класс, который не был бы дочерним классом TObject.
Принцип наследования приводит к созданию ветвящегося дерева классов, постепенно разрастающегося от родителя к потомкам. Каждый потомок дополняет возможности своего родителя новыми свойствами и передает их своим потомкам.
Все объекты наделены определенными свойствами, которые в совокупности выделяют объект из множества других объектов.
Свойства - структура данных, характерных для этого объекта.
Преимущества ООП:
-
возможность многократного использования программного кода (порождение новых классов);
-
невозможность извне ничего изменить в объекте, если такое изменение является недопустимым;
-
объекты отображают реально существующие предметы или процессы.