Курсовая работа: Программа для решения дифференциальных уравнений первого порядка методом Рунге-Кутта

virtual;

end;

// производныйот TPerson TStud = class(TPerson)

fgr:integer; // номеручебнойтруппы

constructor Create(name:string; gr:integer);

function info: string; override; end;

// производныйот TPerson TProf = class(TPerson)

fdep:string; // названиекафедры

constructor Create(name:string;dep:string);

function info: string;

override;

end;

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

Определение метода info для каждого класса:

function TPerson.info:string;

begin

result := '';

end;

function TStud.info:string;

begin

result := fname + ' гp.' + IntTostr(fgr);

end;

function TProf.info:string;

begin

result := fname + ' каф.' + fdep;

end;

Так как оба класса порождены от одного и того же базового, объявить список студентов и преподавателей можно так (следует помнить, что объект — это указатель):

list: array [l. .SZL] of TPerson;

Объявить подобным образом список можно потому, что язык Delphi позволяет указателю на родительский класс присвоить значение указателя на дочерний класс. Поэтому элементами массива list могут быть как объекты класса TStud, так и объекты класса TProf.

К-во Просмотров: 447
Бесплатно скачать Курсовая работа: Программа для решения дифференциальных уравнений первого порядка методом Рунге-Кутта