События
Методы
Свойства
Классы объектов
Объекты
Основные понятия ООП
В объектно-ориентированном программировании главной отправной точкой при проектировании программы является не процедура, не действие, а объект. Такой подход достаточно естественен, поскольку в реальном мире нас окружают именно объекты, взаимодействующие друг с другом.
Объектно-ориентированное программирование базируется на трех основных принципах: наследование, инкапсуляция и полиморфизм. Программа, построенная по этим принципам, - это не последовательность операторов, не некий жесткий алгоритм, а совокупность объектов и способов их взаимодействия. Обмен информацией между объектами происходит посредством сообщений.
Назовем объектом понятие, абстракцию или любой предмет с четко очерченными границами, имеющий смысл в контексте рассматриваемой прикладной проблемы. Все объекты можно идентифицировать, между объектами можно установить отношение тождества (два Сидоровых Ивана – это разные люди, но они студенты одной группы).
Классом называют особую структуру, которая может иметь в своем составе поля, методы и свойства. Класс выступает в качестве объектного типа данных, а объект – это конкретный экземпляр класса. Например, два Сидоровых Ивана принадлежат одному и тому же классу объектов, они - студенты группы ТКС-206. Именно с этим связана их одинаковость (одинаковый шифр группы, одно расписание занятий и т.д.).
Каждый конкретный класс имеет свои особенности поведения и характеристики, определяющие этот класс. Например,
Геометрический объект | ||
Объемный | Плоский | |
С вершинами | Без вершин | |
Окружность | Эллипс |
Наивысший уровень – самый общий и самый простой, каждый последующий уровень более специфический и менее общий. На самом последнем уровне можно определить цвет, стиль заполнения, величину радиуса окружности и т.п.
Если характеристика уже однажды определена для более высокого уровня, то все уровни, расположенные ниже имеют ту же характеристику (если уж определена окружность, понятно, что вершин у нее нет).
Таким образом, классы-наследники могут наследовать характеристики классов-родителей.
Свойства – перечень параметров объекта, которые определяют внешний вид и поведение объекта, выделяют уникальные особенности каждого экземпляра. К свойствам относятся: имя, тип, значение, цвет, размер и др. Состояние – совокупность всех свойств данного объекта.
Метод – это некоторое действие (операция), которое можно выполнять над данным объектом или команда, которую может выполнять объект. В результате этого действия в объекте что-нибудь меняется (например, местоположение, цвет и др.). Для каждого класса объектов имеется свой перечень методов, которые можно к нему применить или которые он может выполнить. Например, объект можно удалить с экрана, переместить в другое место и др.
Каждый объект способен реагировать на определенные события – это разновидность свойства объекта. При возникновении события производится его обработка.
События – сигналы, формируемые внешней средой, на которые объект должен отреагировать соответствующим образом.
Средой взаимодействия объектов являются сообщения, генерируемые в результате наступления различных событий.
События наступают в результате каких-либо действий пользователя (перемещения курсора, нажатия кнопок мыши или клавиш на клавиатуре и др.), а также в результате работы самих объектов. Для каждого объекта определено множество событий, на которые он может реагировать. Для конкретных экземпляров класса могут быть разработаны обработчики этих событий, которые и определяют реакцию данного экземпляра класса на данное событие.
Таким образом, объект можно определить как совокупность свойств и методов, а также событий, на которые он может реагировать.
Внешнее управление объектом осуществляется через обработчик событий. Эти обработчики обращаются к методам и свойствам объекта.