Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Понятие класса

Свойства-массивы | Для классов, связанных наследованием, существует расширенная совместимость типов (совместимы по представлению в памяти). | Перекрытие элементов класса в производных классах | Информация о типе времени выполнения программы | Атрибуты доступа к элементам объектов | Механизм вызова виртуального метода | Абстрактный виртуальный метод | Методы обработки сообщений | Понятие ссылки на метод объекта | Понятие события |


Читайте также:
  1. Античное понятие о мелосе.
  2. Б) элементы системы вне зависимости от ее класса образуют устойчивые достаточно сильные взаимосвязи
  3. Безубыточность: понятие, порядок определения, факторы изменения.
  4. Брак и семья. Семья и ее функции, понятие об ответственности родителей.
  5. Бронирование в разных классах
  6. В христианском учении понятие «счастье» делится на мирское и духовное
  7. В. Понятие типа кадра

Класс – тип данных для создания объектов.

Объект – экземпляр класса.

 

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

 

Type

TDelimitedReader = class

 

// поля

FileVar: TextFile;

Items: array of string;

 

//заголовки методов

procedure PutItem(Index: Integer; constItem: string);

function GetEndOfFile: Boolean;

procedure SetActive(const _Active: Boolean);

end;

 

Класс содержит поля и методы. Заголовки методов, следующие за списком полей, играют роль упреждающих (forward) описаний.

Класс обычно описывает сущность, моделируемую в программе.

 

Объявление ссылки на объект класса:

 

var Reader: TDelimitedReader;

 

Объекты в Delphi – динамические данные, т.е. распределяются в динамической памяти. Поэтому переменная Reader — это просто ссылка на экземпляр (объект в памяти), которого физически еще не существует.

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

 

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

 

type

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

TDelimitedReader = class

Owner: TReadersList;

...

end;

TReadersList = class

Readers: array of TDelimitedReader;

...

end;

 

Классы удобно помещать в модули: описание помещается в секцию interface, а код методов — в секцию implementation. Создавая модули классов, нужно придерживаться следующих правил:

– все классы, предназначенные для использования за пределами модуля, следует определять в секции interface;

– описание классов, предназначенных для употребления внутри модуля, следует располагать в секции implementation;

– если модуль B использует модуль A, то в модуле B можно определять классы, порожденные от классов модуля A.


Дата добавления: 2015-11-16; просмотров: 58 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Модульное программирования| Когда начинается работа с объектом, то он размещается в памяти.

mybiblioteka.su - 2015-2024 год. (0.006 сек.)