Бағдарламалаудың объектілі-бейімделу стилі. (Тема 8)

Содержание

Слайд 2

ОБП үш принциптен құрылған – инкапсуляция, мұрагерлік и полиморфизм. Мәліметтерді өндейтін

ОБП үш принциптен құрылған – инкапсуляция, мұрагерлік и полиморфизм.
Мәліметтерді

өндейтін мәліметтерді және алгоритмдарды бір бүтін топқа біріктіру. ОБП-да мәліметтер объектін өрісі, ал алгоритм – объектің әдістері, ал біріктіру – инкапсуляция деп аталады. Әдістер өрістермен және сыртқы мәліметтер мен жұмыс істейді. Олар объектін ойын іске асырады. Объектілер мұрагерлік қасиетіне ие болған. Ол арқылы өрістердің объект-ұрпақты және объект-арғы-атаны қолдана аламыз. Әр объекте саны кез келген ұрпақ және текқана бір арғы-атаны болуы мүмкін. Осы қасиет арқылы мұрагерлік иерархия талдарың құраламыз. Ұрпақ кейбір арғы-атанын әдістерін басып озады: әдіс бір атпен әр түрлі объектілерге әр түрлі орындалады. Ол әдістердің полиморфизмі деп аталады.
Слайд 3

Мұрагерліе келесі түрде сипатталады: Type = object( ) : ; ;

Мұрагерліе келесі түрде сипатталады:
Type <ұрпақтын аты>= object(<ата-ана түрінін аты>)
<объектін қосылған өрістері>:<өрістердің

түрлері>;
<қосылған және жаңадан анықталған әдістердің декларациясы>;
end;
Нүкте түрі, басқа объектілердің иерархия талдары - шеңбер, сызық, төртбұрыш түрлер арқылы мұрагер механизмын көрейік.
Слайд 4

Слайд 5

TPoint түрі ата-ана деп саналады, онда барлық графика объектілеріне жалпы қасиеттер

TPoint түрі ата-ана деп саналады, онда барлық графика объектілеріне жалпы қасиеттер

келтірілген: координаталар, жану әдісі, сөну, жылжу, сосын олар басқа объектілермен мұраналады TCircle түрі TPoint түрінен ұрпағы ретінде радиус (R) өрісімен толтырлады, TLine түрі – кесіндінін екінші соңынын жылжу өрістерімен. TRect түрі TLine түріне тиісті төртбұрыштың қарама қарсы бұрыштарынын координаталары және олардың жылжыуы. Барлық мұрандалған объектілерде тек қана конструктор және Draw әдісі жабылып қалады.
Слайд 6

TCircle түрі келесі түрде жұмыс істейді: Type TCircle =object(TPoint) Private R:integer;

TCircle түрі келесі түрде жұмыс істейді:
Type TCircle =object(TPoint)
Private
R:integer; {радиус}
Public
Conctructor Create(a,b,c:integer);
{Объектін өрістерін

сипаттайды}
procedure Draw(color:word); virtual;
{Color түсімен шеңберді салады}
end;
constructor TCircle.Create(a,b,c:integer);
begin
inherited Create(a,b);
R:=c;
End;
Procedure TCircle.Draw(Color:word);
Begin
SetColor(Color);
Circle(X,Y,R);
End;
Қызметші сөз inherited Create ата-аналық конструкторды шақырады, мұрагерленген X және Y өрістерді сипаттайды.
Слайд 7

TLine объекті түр келесі түрде сипатталады: Type TLine=objec(TPoint) Private ShiftX, ShiftY:integer;

TLine объекті түр келесі түрде сипатталады:
Type TLine=objec(TPoint)
Private
ShiftX, ShiftY:integer; {Екінше соңынын жылжыуы}
Public
Conctructor

Create(X1, Y1,X2,Y2:integer);
{(X1,Y1),(X2,Y2) – кесіндінін соңдарынын координаталары}
procedure Draw(color:word); virtual;
{color түсімен кесіндіні сызады}
end;
Слайд 8

Жаңа объекті құру жаңа жазуды құруға тиісті. Type = object : ; ; end;

Жаңа объекті құру жаңа жазуды құруға тиісті.
Type <объектін аты> =

object
<объектін өрістері>:<өрістердің түрлері>;
<объектілердің әдістерінін декларациясы>;
end;
Слайд 9

Create әдісі объекті құрады және онын өрістерін нақты мәндермен толтырады. Осындай

Create әдісі объекті құрады және онын өрістерін нақты мәндермен толтырады. Осындай

процедураны конструктор деп атайды және Procedure сөзінін орнына Constructor сөзі қолданылады.
Private директивасы объектін өрістерін және әдістерін программанын өзінін сыртқы процедураларына еркін қолдануға рұқсат береді. Объектін өрістерінін мәнін әдістер арқылы өзгерту керек қате болмау үшін. Мысалы, нүктенін орнын Move әдіс арқылы ауыстыруға болады.
Public директивасы басқа модульдегі процедураларға объектін элементтерін қолдануға рұқсат береді.
Protected ретінде сипатталған мәліметтер тек қана белгіленген объектін ұрпақтары қолданады.
Слайд 10

Әр түрлі объектілердің әдістеріне тең аттарды қолдану. Мысалы, айтылып кеткен объектілердін

Әр түрлі объектілердің әдістеріне тең аттарды қолдану. Мысалы, айтылып кеткен объектілердін

құру және сызу әдістері тең аттармен анықталған – Create, Draw, бірақ әр графикалық объект оларды әр түрлі салады.