Понятие объекта

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

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

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

Рис. 10.1. Пример фрагмента иерархии геометрических фигур

Наивысший уровень – самый общий, каждый последующий – более специфический, дополняемый деталями. На последнем уровне определяются цвет, стиль заполнения и т.п.

Более низкий уровень, называемый непосредственным потомком или подклассом, наследует данные (поля) и программы обработки (методы) уровня, стоящего выше. Уровень, стоящий выше подкласса, называют непосредственным предком или родителем. Объектный тип в Турбо Паскале может иметь не более одного родителя, но неограниченное число порожденных типов.

Иерархия объекта – это структурированный в виде дерева набор связей родитель-потомок набора объектов.

Основное правило ООП: если характеристика определена для какого-либо объекта, то все объекты, расположенные ниже данного определения, содержат эту характеристику.

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

Type

Point = object

X,Y: integer;

Visible: boolean

end;

Для формирования структуры типа объект используется служебное слово object. В дальнейшем тип Point можно использовать в программе обычным образом: определять переменные этого типа, как статически, в разделе Var, так и динамически, создавая экземпляр переменной этого типа с помощью процедуры New; работать с полями и прочее.

Но важнейшим и радикальным отличием от обычных комбинированных типов является возможность, наряду с полями, описывать в объектовом типе процедуры и функции, описывающие действия, которые можно выполнять с данным объектом. В этом и заключается одна из главных идей объектно-ориентированного подхода к программированию: предполагается, что объект содержит не только информацию о себе, но и правила своего поведения, оформленные в виде выполняемых фрагментов, – подпрограмм. Подпрограммы, определенные в объектном типе, называются методами объекта.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: