- •1 Вариант.
- •2 Вариант.
- •7 Вариант.
- •8 Вариант.
- •9 Вариант.
- •10 Вариант.
- •14 Вариант.
- •15 Вариант.
- •11 Вариант.
- •12 Вариант.
- •13 Вариант.
- •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 Вариант.
24 Вариант.
Объект – это структура, компонентами которой являются данные-поля объекта и процедуры (функции) - методы объекта. Все данные и методы инкапсулированы в одном объекте.
Определение типа ОБЪЕКТ:
TYPE ИмяОбъекта = OBJECT
Поля данных;
Заголовки методов;
END;
Объекты Потомки получают по наследству все поля и методы объекта Предка, могут быть дополнены новыми полями и методами, и, кроме того, могут переопределять методы объекта Предка, сохраняя или изменяя при этом у одноимённых методов списки формальных параметров и типы возвращаемых значений. Поля объекта Предка в объекте Потомке заменять нельзя.
Любой метод объекта Предка может быть вызван в любом методе объекта Потомка. В этом случае перед именем вызываемого метода указывается имя типа объекта Предка.
Type ИмяОбъектаНаследника= OBJECT(ИмяОбъектаПредка)
Новые поля объекта наследника;
Новые методы объекта наследника;
END;
Type TypeSym = OBJECT(TypeWin)
Ch:char;
Procedure INIT1(ax,ay:integer; ach:char);
Procedure SHOW1;
END;
Procedure TypeSym.INIT1;
Begin
Inherited INIT1(ax,ay);
Ch:=ach
End;
Procedure TypeSym.SHOW1;
Begin
GoToXY(x,y);
Writeln(ch)
End;
25 Вариант.
Переменную, описываемую типом ИмяОбъекта, называют экземпляром объекта:
Объекты Потомки получают по наследству все поля и методы объекта Предка, могут быть дополнены новыми полями и методами, и, кроме того, могут переопределять методы объекта Предка, сохраняя или изменяя при этом у одноимённых методов списки формальных параметров и типы возвращаемых значений. Поля объекта Предка в объекте Потомке заменять нельзя.
Любой метод объекта Предка может быть вызван в любом методе объекта Потомка. В этом случае перед именем вызываемого метода указывается имя типа объекта Предка.
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;
Оch.Init(10,5,50,20,red);
Och.Init1(2,3,’о’);
Och.Show; Och.Show1;
OchCol.Init1(3,3,yellow,’!’);
OchCol.Show1;
Экземпляры объектов Och и OchCol вызывают различные одноимённые методы Init1 и Show1, причём метод Init1 в объектовых типах Och и OchCol имеет разное количество параметров.
26 Вариант.
Полиморфизм – это свойство родственных объектов (т.е. объектов, имеющих одного общего родителя) решать схожие по смыслу проблемы разными способами. Изменяя алгоритм того или иного метода в потомках объекта, программист может придавать этим потомкам отсутствующие у родителя специфические свойства. Для изменения метода необходимо перекрыть его в потомке, т.е. объявить в потомке одноименный метод и реализовать в нем нужные свойства. В результате в объекте-потомке и объекте-родителе будут действовать два одноименных метода, имеющих разную алгоритмическую основу и придающих объектам разные свойства.
Type
TPerson =Object
FName : string[25];
FAddress : string[25];
End;
TStud =object( TPerson)
FGroup : integer;
Procedure Print;
End;
TProf =object(TPerson)
FKaf : integer;
Procedure Print;
End;
Var Pperson: ^TPerson;
Pstud : ^TStud;
Pprof : ^TProf;
Pperson:= Pstud;
Pperson:= Pprof;
