Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...
Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...
Топ:
Оценка эффективности инструментов коммуникационной политики: Внешние коммуникации - обмен информацией между организацией и её внешней средой...
Установка замедленного коксования: Чем выше температура и ниже давление, тем место разрыва углеродной цепи всё больше смещается к её концу и значительно возрастает...
Интересное:
Подходы к решению темы фильма: Существует три основных типа исторического фильма, имеющих между собой много общего...
Финансовый рынок и его значение в управлении денежными потоками на современном этапе: любому предприятию для расширения производства и увеличения прибыли нужны...
Инженерная защита территорий, зданий и сооружений от опасных геологических процессов: Изучение оползневых явлений, оценка устойчивости склонов и проектирование противооползневых сооружений — актуальнейшие задачи, стоящие перед отечественными...
Дисциплины:
|
из
5.00
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
|
|
В конце 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; //объявляемновыйобъект
|
|
|
Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...
Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...
Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...
Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...
© cyberpedia.su 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!