Работа с объектами

Рассмотрим работу с объектами на следующем примере:
В теремке живут следующие животные :мышка, мышка-нарушка, лягушка. Случайным образом эти животные подают голос и представляютя.: лягушка: Я - лягушка квакушка, мышка Я - мышка, или Я - мышка Ха-Ха-Ха)
Эту не сложныю задачу можно реализовать при помощи объектов с использованием наследования, полиморфизма, наследования.

Все жители - животные, все они подают голос, у них есть имя, поэтому объявляем объект животные от которого породим наших жителей. Процедуру голос объявим виртуальной, для того чтобы ее можно было переопределить у объектов потомков.
Type
PZver=^TZver;
TZver=Object
Name:String[20];
constructor init; destructor Done;
procedure Golos;virtual;
end;

Объявляем объект лягушка. У этого объекта есть имя, голос. Значит его можно унаследовать от объекта животные.
PFogel=^TFogel;
TFogel=Object(TZver)
Constructor Init;
end;

Так же поступаем с объектом мышка.
PMouse=^TMouse;
TMouse=0bject(TZver)
...
...

Создадим еще один объект мышки-нарушки, которая смеётся. У этого объекта будут все тоже самое, что и у объекта мышка, кроме голоса, поэтому переопределим у него процедуры подачи голоса.
PFMouse=ATFMouse;
TFMouse=object(TMouse)
procedure Golos;virtual;
end
;
После объявления нужных объектов опишем их процедуры:
constructor TZver.init;
begin
Name:='Я -' ;
end;
Destructor TZver.done;
Begin
Name:=' ';
End;
Procedure TZver.Golos;
Begin
Write(name);
End;

Теперь переопределяем методы у потомков: лягушки, мышки.
Constructor TFogel .Imit;
Begin
TZver.init;
Nanie:=name+' лиса' ;
End;

...
...
У объекта мышки нарушки переопределим только процедуре голоса.
Procedure TFMouse.Golos;
Begin
TMouse.Golos;
Write('Ха-Ха-Ха');
End;

Далее приступаем к написанию основного текста программы.
Var
I,K:lnteger;
House:Array[l..10] of PZver;
Begin
For l:=l to 10 Do
Begin
K:=Random(2); Case К Of
0:House[i]:=new (pMouse,Init);
1:House[i]:=new (PFogelilnit);
Else House[i]:=new(PFMouse,lnit);
End;
end;
For l:=l to 10 Do Begin
House[i]A.Golos;
writeln;
end;
end
.

 

Оборудование для приготовления пиццы
Доставка пиццы. Холодные и горячие закуски, соусы, пицца и др
tehnofood.ru