- •1 Вариант.
- •2 Вариант.
- •7 Вариант.
- •8 Вариант.
- •9 Вариант.
- •10 Вариант.
- •11 Вариант.
- •12 Вариант.
- •13 Вариант.
- •14 Вариант.
- •15 Вариант.
- •16 Вариант
- •17 Вариант.
- •18 Вариант .
- •19 Вариант.
- •Var Note: Text;
- •20 Вариант.
- •Var Note: Text; к: Integer;
- •21 Вариант.
- •Var f: File; I: Byte; Rec: r; Result: Word;
- •22 Вариант.
- •Var p: pointer;
- •23 Вариант.
- •24 Вариант.
- •25 Вариант.
- •26 Вариант.
- •27 Вариант.
- •28 Вариант.
- •29 Вариант.
- •30 Вариант.
27 Вариант.
Наследование – это порождение новых типов объектов (потомков) из уже имеющихся типов объектов (предков или прародителей).
Type TypeSymCol=OBJECT(TypeSym)
Color : Integer;
Procedure INIT1(ax,ay,acolor:integer; ach:char);
Procedure SHOW1;
End;
Procedure TypeSymCol.INIT1;
Begin
Inherited Init1(ax,ay,ach);
Color:=acolor
End;
Procedure TypeSymCol.SHOW1;
Begin
TextColor(color);
Inherited Show1
End;
Var OchCol : TypeSymCol;
Och.Init(10,5,50,20,red);
Och.Init1(2,3,’о’);
Och.Show; Och.Show1;
OchCol.Init1(3,3,yellow,’!’);
OchCol.Show1;
28 Вариант.
. Инкапсуляция заключается в том, что объект скрывает свои детали, которые несущественны для использования объекта, т.е. пользователь класса должен видеть и использовать только список полей объекта и методов и не вникать в его внутреннюю реализацию. Этот прием еще называется сокрытие данных, благодаря которому защищаются такие сведения клиента, как баланс счета. Инкапсуляция является средством организации доступа к данным только через соответствующие методы.
Type
TPerson =Object
Procedure Init(n,a:string);
Function GetName:string;
Function GetAddress:string;
Procedure SetAddress(NewAddress:string);
Private
Name : string;
Address : string;
End;
29 Вариант.
Конструктор – это особый метод, который позволяет выполнять некоторую работу, обеспечивающую поддержку механизма виртуальных методов. Он должен вызываться раньше других методов объекта, т.к. он выполняет инициализацию объекта. Вместо слова «procedure» в объявлении объектных типов используется «constructor».
Для объявления конструктора используется зарезервированное слово constructor, после которого идет имя конструктора и параметры, если необходимо. Конструктор возвращает указатель на экземпляр класса. В теле конструктора Вы можете вызвать конструктор предка для инициализации закрытой части предка значениями по умолчанию, например:
Uses Crt, Graph;
Var gd,gm : integer;
Type Tp=Object
X,y,c : integer;
Constructor Init(ax,ay,ac : integer);
Procedure Show; Virtual;
Procedure Hide; Virtual;
Procedure Moveto(dx,dy : integer);
End;
Constructor Tp.Init;
Begin X:=ax; y:=ay; c:=ac End;
Procedure Tp.Show;
Begin Putpixel(x,y,c); End;
Procedure Tp.Hide;
Begin Putpixel(x,y,Getbkcolor) End;
Procedure Tp.Moveto;
Begin
Delay(1000); Hide;
X:=x+dx; y:=y+dy; Show
End;
Type Tc=Object(Tp)
R : integer;
Constructor Init(ax,ay,ac,ar : integer);
Procedure Show; Virtual;
Procedure Hide; Virtual;
End;
Constructor Tc.Init;
Begin Inherited(ax,ay,ac); R:=ar End;
Procedure Tc.Show;
Begin
Setcolor(c); Circle(x,y,r)
End;
Procedure Tc.Hide;
Begin
Setcolor(Getbkcolor); Circle(x,y,r)
End;
30 Вариант.
деструктор – особая процедура, выполняющая специфическую работу, в том числе обеспечивающая объединение освобождающихся, возможно, небольших участков памяти в более крупные блоки.
Инструкция Dispose(p,Done); уничтожает объект, на который указывает P.
Type Link=^Rec;
Rec=Record
Inf : Integer;
Next : Link
End;
Tsp=Object
Start : Link;
Procedure Init;
Procedure In_Spisok(X:integer);
Procedure Print_Spisok;
Procedure Done;
End;
Procedure Tsp.Init;
Begin
Start:=Nil
End;
Procedure Tsp.In_Spisok;
Var p : Link;
Begin
New(p);
P^.inf:=x; P^.next:=Start;
Start:=p
End;
Procedure Tsp.Print_Spisok;
Var p : Link;
Begin
P:=Start;
While p<>Nil do
Begin
Write(P^.inf:6);
P:=P^.next
End;
End;
Procedure Tsp.Done;
Var p : Link;
Begin
While Start<> Nil do
Begin
P:=Start;
Start:=Start^.next;
Dispose(p)
End
End;
Var Spisok : Tsp;
A : integer;
Ch : char;
Begin
Spisok.Init;
Repeat
Readln(A);
Spisok.In_Spisok(A);
Readln(Ch);
Until Ch in [‘n’,’N’];
Spisok.Print_Spisok;
Spisok.Done
End.
