История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

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

Понятия «объект» и «компонент»

2017-11-17 328
Понятия «объект» и «компонент» 0.00 из 5.00 0 оценок
Заказать работу

Вверх
Содержание
Поиск

В конце 60-х годов кому-то пришло в голову объединить такие понятия как тип данных, процедура, функция, запись и то, что получилось, назвать объектом. Рассмотрение данных в неразрывной связи с методами их обработки позволило вывести формулу объекта:

Объект = Данные + Операции

На основании этой формулы была разработана методология объектно - ориентированного программирования (ООП).

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

Например, объект "кнопка" имеет свойство "цвет". Значение цвета, кнопка запоминает в одном из своих полей. При изменении значения свойства "цвет" вызывается метод, который перерисовывает кнопку.

Но на этом дело не остановилось. Когда прикладные программы были консольно-ориентированными, а пользовательский интерфейс был простым, объекты казались пределом развития программирования, поскольку были идеальным средством разбиения сложных задач на простые подзадачи. Однако с появлением графических систем, программирование пользовательского интерфейса резко усложнилось. Программист в какой-то мере стал дизайнером, а визуальная компоновка и увязка элементов пользовательского интерфейса (кнопок, меток, строк редактора) начали отнимать основную часть времени. И тогда программистам пришла в голову идея визуализировать объекты, объединив программную часть объекта с его видимым представлением на экране дисплея в одно целое. То, что получилось в результате, было названо компонентом.

Компоненты в среде Delphi — это особые объекты, которые являются строительными элементами визуальной среды разработки и приспособлены к визуальной установке свойств. Чтобы превратить объект в компонент, первый разрабатывается по определенным правилам, а затем помещается в палитру компонентов. Конструируя приложение, вы берете компоненты из палитры компонентов, располагаете на форме и устанавливаете их свойства в окне инспектора объектов. Внешне все выглядит просто, но чтобы достичь такой простоты, потребовалось создать механизмы, обеспечивающие функционирование объектов-компонентов уже на этапе проектирования приложения! Таким образом, компонентный подход значительно упростил создание приложений с графическим пользовательским интерфейсом и дал толчок развитию новой индустрии компонентов.

 

Описание класса

А теперь самое время вспомнить, что язык Objectpascal является типизированным, значит, объекты будут являться переменными, но они должны принадлежать какому-то типу. Этот новый тип данных назвали классом. Каждый объект всегда принадлежит некоторому классу объектов. Класс объектов — это обобщенное (абстрактное) описание множества однотипных объектов. Объекты являются конкретными представителями своего класса, их принято называть экземплярами класса. Например, класс «мебель» — понятие абстрактное, а экземпляр этого класса «письменный стол» — понятие конкретное.

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

Type <имя_класса> = class [(имя_родительского_класса)]

Список членов класса

end;

Имя родительского класса указывается, если новый класс должен наследовать все его характеристики. Исключать какие-то члены родительского класса нельзя. Если родительский класс не указан, то по умолчанию будет наследование характеристик класса TObject, который содержит конструктор, деструктор и общие свойства и методы классов в среде Delphi, предназначенные для создания объектов. Рекомендуется всегда явно указывать базовый родительский класс TObject.

Описание классов бывает двух типов: упреждающее и реальное. Использование первого обусловлено особенностью языка object pascal и заключается в том, что нельзя использовать класс (переменную, тип данных, константу) предварительно не описав его. Иногда случается так, что один класс должен быть включен во второй, но его описание расположено ниже и поэтому не может быть использовано. Тогда поступают следующим образом: дают упреждающее описание класса1, затем реальное описание класса2 с включенным в него полем класса1 и только затем реальное описание класса1. Упреждающее описание имеет вид:

Type <имя_класса> = class;

Т.е. такое описание определяет только заголовок класса. Список членов класса здесь отсутствует. Его наличие означает реальное описание класса. Пример:

Листинг 1.3

Type

TMyClass1= class; //упреждающее объявление

TMyClass2 = class (TObjecj) //реальноеобъявление

Simp:TMyClass1;

End;

TMyClass1 = class (TObject); //реальное объявление

 

Последняя строчка примера означает, что класс TMyClass1 будет равен TObject и может использоваться для его замещения.

В качестве членов класса выступают поля, методы, а так же некоторые их модификации. Поля хранят данные и фактически являются переменными, объявленными внутри класса. Методы необходимы для того чтобы можно было оперировать полями. Их модификации расматриваются далее.

 

Листинг 1.4. Пример простого класса

//объявляемновыйкласс

Type TSimpleClass = class (TObject)

fv:integer; //поле 1

fFileMy:string; //поле 2

fF:text; //поле 3

procedure Draw(); //метод 1

function GetCount(): integer; //метод 2

procedure SetActive(AActive: Boolean); //метод 3

end;

var MyClass: TSimpleClass; //объявляемновыйобъект

 


Поделиться с друзьями:

Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.009 с.