Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Использующий ООП

Begin

Деструктор

Begin

Конструктор

Published

Public

Protected

Private

<Объявление закрытых полей и методов>

// Все, что объявлено здесь, может быть использовано только в данном модуле

<Объявление открытых полей и методов>

// Все, что объявлено здесь, может быть использовано

// и в данном модуле, и во всех классах-наследниках данного класса

<Объявление открытых полей и методов>

// Все, что объявлено здесь, может быть использовано везде, где виден класс


<Объявление открытых полей и методов>

end;

 

Всё, что объявлено в разделе published, может быть использовано везде, где виден класс.

Раздел published может присутствовать, только если включен режим «динамическая идентификация типа данных» (Run-time type information, Run-time type identification, RTTI), который позволяет определить тип данных переменной или объекта во время выполнения программы.

Режим RTTI должен быть включен с помощью ключа {$M+}.

 

http://www.rsdn.ru/Forum/message/704173.flat.aspx


 

Объявление:

constructor TList1.Create;

inherited Create;

// inherited;

pHead:= Nil;

pTail:= Nil;

nItems:= 0;

end;

 

Обращение:

MyList1:= TList1.Create;

Обращение происходит к методу класса.


 

Объявление:

destructor TList1.Destroy;

inherited Destroy;

// inherited;

end;

 

Обращение:

MyList1.Destroy;

Обращение происходит к методу объекта.

 

Пример построения линейного однонаправленного списка,

 

Проект строится в «DOS-овском» режиме и имеет имя Project1 (по умолчанию). Для его построения из верхнего меню следует пройти маршрутом:

File – New – Other – Console Application.

 

Список формируется на основе данных из текстового файла, содержащего чётное количество строк. Каждая нечётная строка содержит фамилию работника, каждая чётная – его месячный заработок.


Образец такого файла:

 

Inanov

Sidorov

Petrov

Petrov

Andrianov

Andreev

Yakovlev

 


Проект состоит из четырёх файлов, содержащих коды на языке Pascal.

 

Файл Project1.dpr обращается к кодам (описаниям классов), представленным в трёх файлах-«устройствах» Unit1.pas, Unit2.pas, Unit3.pas, присоединённых к проекту.

 

В файле Unit1.pas описан базовый класс MyList1Class, способный к формированию линейного однонаправленного списка в оперативной памяти. Каждый новый элемент списка ставится в конец списка. Назначение методов класса пояснено комментариями.

 

В файле Unit2.pas описан класс MyList2Class – наследник базового класса MyList1Class. Все методы базового класса сохраняют силу, а в дополнение появляются два новых метода: PrependItem и PrependFromFile. С их помощью каждый новый элемент списка ставится в начало списка.

 


Текст файла Project1.dpr:

 

program Project1;

{$APPTYPE CONSOLE}

 

<== предыдущая лекция | следующая лекция ==>
Ориентированный граф | While notEOF(F) do. If notAloneItem(sName, Salary, pNew) then
Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 281; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.