Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МУ к пр з №1 и 2 прог ч2 2011.doc
Скачиваний:
4
Добавлен:
23.11.2018
Размер:
264.19 Кб
Скачать

Методические указания к выполнению работы

К п.1. Для получения информации о типах данных, используемых в Object Pascal, выберите пункт меню Help|Delphi Help, а затем в открывшемся окне выберите раздел Object Pascal Reference|Data types, variables and constants.

Для получения информации о форматах хранимых данных Object Pascal, выберите пункт меню Help|Delphi Help, а затем в открывшемся окне выберите раздел Object Pascal Reference|Memory Management.

К п.2.

К п.3. Класс – это тип данных, определяемый пользователем и содержащий поля, методы и свойства. Экземпляры класса называются объектами. Поля, методы и свойства класса называют компонентами или членами.

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

Метод является процедурой или функцией, связанной с классом. Большинство методов управляет объектами.

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

Объединение полей, методов и свойств в один тип - класс называется инкапсуляцией.

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

Любой класс может быть порожден от другого класса. При этом он наследует поля, методы, свойства и события от своих предков и может отменять какие-то из перечисленных элементов класса или вводить новые. Это второй принцип класса – наследование.

Пример объявления класса:

Type

TClassName = class(TAncestorClass)

fName: string;

fVal: integer;

consructor Create(Name: string);

procedure SetVal(Value: integer);

procedure Metod1;

function Metod2: integer;

…..

end;

где

TClassName - имя, создаваемого класса;

TAncestorClass - имя класса-родителя (если он есть).

fName, fVal - поля создаваемого класса.

Все классы в object Pasakal порождены от единственногшо родителя TObject. Объявления полей (переменных) выглядят аналогично объявлениям переменных в записях. Все поля должны быть объявлены ранее объявлений свойств и методов.

Create - конструктор создаваемого класса. Конструкторы – специальные методы, вызываемые при создании и инициализации экземпляра объекта. У класса может быть более одного конструктора, но, как правило, он один.

Metod1, Metod2 - методы создаваемого класса.

К п.4. При реализации методов класса (подобно полям записи) необходимо указывать класс, а затем после точки – название метода:

procedure TClassName.MetodName;

Begin

…..

end;

При реализации метода Info для преобразования числовых значений в строку следует использовать стандартные функции FloatToStr и IntToStr.

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

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

var Obj1, Obj2: TClassName; { описание объектов класса }

begin

{ создание объекта с именем ‘a’ }

Obj1:= TClassName.Create('a');

{ создание объекта с именем ‘b’ }

Obj2:= TClassName.Create('b');

Writeln(Obj1.Info); { вывод информации об объекте 1 }

Writeln(Obj2.Info); { вывод информации об объекте 2 }

…..

Obj1.Free; { вывод информации об объекте 1 }

Obj2.Free; { вывод информации об объекте 2 }

end.

Чтобы вызвать метод нужного объекта необходимо указывать его переменную, а затем после точки – название метода.

Для уничтожения объектов в Object Pascal и удаления их из памяти используется метод Free.

К п.7. Дополнительные функции необходимо реализовать в основной программе отдельно от описания класса, например:

function Sum(Value1, Value2: integer): integer;

begin

Result:=Value1 + Value2;

end;

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

  1. Давыдов В.Г. Программирование и основы алгоритмизации: Учебное пособие. М.: Высшая школа, 2003.423 с.

  2. Колдаев В.Д. Основы алгоритмизации и программирования.- М. ИД «ФОРУМ»: ИНФА-М,2006. – 416 с.

  3. Архангельский А. Я. Программирование в Delphi 5. М.: Бином, 2000. 1070 с.

  4. Архангельский А.Я. Object Pascal в Delphi 5. М.: Бином, 1999. - 220 с.

  5. Фаронов В.В. Турбо-Паскаль (в 3-х книгах). -М.: МВТУ.Фесто Дидактик, 1996.-304 с

  6. Епанешников A.M., Епанешников В А Программирование в среде Turbo Pascal 7.0.-M: Диалог МИФИ, 1997-208 с.

  7. Дьюхарст С., Старк К. Программирование на С++. Киев НИПФ ‘Диасофт’ 2000ю-450 с.

  8. Шилд,Герберт. Полный справочник по С. 4-е издание,: Пер. с анг..- М.:Издательский дом Вильямс,2002.-704 с.

4