Кластар иерархиясы



Жұмыс түрі:  Реферат
Тегін:  Антиплагиат
Көлемі: 18 бет
Таңдаулыға:   
Мазмұны
І.Кіріспе ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... .
... ... ... ... ... ... ... ... ... ... ... 3

ІІ. Негізгі бөлім

1.1.Кластар
иерархиясы ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ...4

1.2. Кластар және Delphi – дің
обектілері ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... .7

2.1.Мұрагерлік ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ... ... ... 7

2.2.Полиморфизм ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ... .. 10

3.Кластарды
хабарлау ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .
... ... ... ... ... ...19

ІІІ.Қорытынды ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
... ... ... ... ... ... ... ... ... 24

Пайдаланған
әдебиеттер ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
... ... ... ... ... .25

Кіріспе
Программалау технологияларының негізгі бағыттарының бірі – обьектіге
бағытталған бағдарламалау тілі. Біз программалау ІІ де обьекті
бағдарламасының принципіне негізделген Delphi интегралды ортасын
құрастырамыз. Бұл ортада күрделі қосымшалар, анықтамалық және тестілеу
жүйелерін электронды оқулықтар мәліметтер қорын құруды үйренеміз. Обьектіге
бағытталған бағдарламалау – қоршаған ортаны моделдеудің сапалы
мүмкіндіктеріне негізделген түсінікті ұғымдар жиынтығынан құрылады. Сонымен
қатар, жазылып қойылған программа көп рет қолдану мүмкіндігін береді. Бұл
орталар сонымен бірге Визуальды программалау құралдары ретінде ұсынылады,
яғни обьектілерді монитор экрандарында көру және оларды программаның
орындалуына дейін қандай да бір түрде бейнеленуінің мүмкіндігін береді. Іс
–әрекеттің кез келген басқа түрі сияқты программалау технология болып
саналады. Ол бағдарлама құру процесін өндірістік іс – әрекетке айналдыру
арқылы жинақталған тәжірибе мен білімді жетілдіреді. Delphi ортасында
пайдаланушы қосымшаның жобасын құру кезеңінде бағдарламалау модельдік
принципке негізделінеді. Delphi – де жобалау форма бетіне компонентерді
орналастыруына олардың қасиеттерін өзгерте отырып оқиғаларды өңдейтін код
жазуға апарылады. Delphi ортасында қосымшалар IDE құрылымдық ортада
орындалады. Ең басында Delphi ортасының форма терезесі пайда
болады(қосымшада олардың бірнешеуі болуы мүмкін). Оған компоненттерді
орналастырамыз. Форма бетіне тышқан арқылы Delphi кітапханаларында бар
компоненттердің пиктограммалары тасымалданады және орналастырылады.
Бұл тәжірибе алудың мақсаты студенттердің информатика, программалау
технологиялары, компьютерлік графика пәндерінен алған білімдерін ары қарай
жалғастыру, жоғары курстарда оқытылатын пәндер туралы алғашқы түсінік беру,
сонымен қатар, студентті таңдаған мамандығының ерекшелігімен таныстыру және
ол туралы түсінігін тереңдету болып табылады.
Жалпы обьектіге бағытталған бағдарламалау тәсілдерінің ерекшелігі,
алдын ала құрылып қойылған обьектілерді қолдануға және сол обьектілердің
көптеген туындыларын пайдалануға болады.

1.1 Кластар иерархиясы

Object Pascal тіліндегі кластар деп өрістен, әдістен және қасиеттерден
тұратын арнайы типтерді айтады. Кез келген басқа типтер тәрізді класс
обьект деп аталатын нақты экземплярды құру қызметін атқарады. Turbo Pascal
жүйесіндегі жасалған программалармен үйлесімділікті сақтау үшін жүйені
құрушылар Turbo Pascal тіліндегі бұрынғы обьектілі модельді сүйемелдейтін
Object – обьект типін қалдырған. Кластың басқа типтерден маңызды
айырмашылығы кластың обьектілері барлық уақытта топқа бөліне алады.
Сондықтан обьект айнымалылар жадының динамикалық бөлігінде көрсеткіштің
рөлін атқарады. Дегенмен басқа көрсеткіштерден айырмашылығы обьектінің
мазмұнына сілтемеде обьектінің атауынан кейін ^ символын пайдалануға
болмайды.
Type
TmyClass=class(TObject)
Field:integer;
...
End;
Var
MyClass:TmyClass;
Begin
...
MyClass^.Fied:=0; Қате! Ол былай жазылуы тиіс:
MyClass.Fied:=0;
...
End.
Туынды класс бір базалық кластан артық класқа мұра ете алатын екі әдіс
бар. Біріншіден, туынды класс көп деңгейлі кластар иерархиясын құра отырып,
базалық ретінде басқа туынды класс үшін қолданыла алады. Екіншіден, туынды
класс бір базалық кластан артық класты тікелей мұра ете алады. Егер класс
туынды кластың базалық класы болып, сонымен қатар, осы туынды класс басқа
класқа базалық ретінде қолданылған кезде кластың конструкторлары мұрагерлік
тәртібі бойынша шақырылады.
Object Pascal құрамындағы барлық кластар TObject класының ең түпкі
буынның туындылары болып саналады. TObject класы стандартты SystemPas
модулінде орналасады және көптеген қасиеттер және әдістермен қамтылған.
Әдістердің арасында ClassName – анықталған обьектінің алғы буынның атын
қайтарады. ClassType – класының туындысы туралы мәлімет қайтарады. Create –
обьектінің данасын құрастырады. Free – обьектіні жояды және қажет болса
обьект орналасқан жадының аймағын босатады т.с.с.
Негізінде Delphi – де қолданылатын кластар мен компоненттің түрлері
бар болған бес базалық класқа жатады. Олар негізгі функциялар мен кез
келген обьектінің орындалуын қамтамасыз етеді. Егер ол VCL –дің стандартты
компоненті болса да.

1- сурет. VCL иерархиялық база класы.

VCL кітапханасында кластар жай мұрагерлік механизмінің класы ретінде
қолданылады. Бір класс бір 3ғана мұрагер бола алады. Иерархиялық кластың
тамыры TObject класы болады. Кез келген VCL кітапханасында TObject класынан
иемденеді.

2- сурет. VCL – кітапханасындағы иерархиялық класс.

TObject класы VCL кітапханадағы барлық обьектінің сызбаларын
инкапсуляциялайды. Егерде бір обьект құрылған кезде оның базалық класы
көрсетілмесе, онда Delphi автоматты түрде TObject класының мұрагерін
қолданады.
Жаңа кластың жариялануы Type секциясында орындалады.
TPersistent класы өзінің Tobject ата – анасының мүмкіндіктерін
кеңейтеді: ол мәліметтерді файлға сақтап, оны одан қайтадан ала алады,
нәтижесінде оның барлық ұрпақтары осы мүмкіндіктерді орындай алады. Олар:
TComponent, TCanvas, TPicture, TString.
TComponent класы өз кезегіндегі, класты құраушының ортасымен
әрекеттесіп, оны өзінің ұрпақтарына бере алады. Олар: TControl, TScreen,
TMenuItems, TMenu.
TControl класы файлдармен және класты құраушының ортасымен ғана жұмыс
істеп қоймай, сонымен бірге, экранда көрінетін бейнелерді құруға және оның
қызметін орындауға қабілетті. Олар: TWinControl, TGraphicControl.
Ал оның ұрпағы TWinControl Windows терезелерін де құра алады және т.б.
Ол: TСustomControl→TCustomForms→Tform.
Ішкі орналасуындағы айырмашылыққа қарамастан қысқа ShortString және
ұзын String жолдардың қасиеттері программист үшін бірдей.Жолдың ағымдағы
ұзындығы Length функциясының көмегімен алуға болады.
Обьектінің бетіне Canvas қасиеті сәйкес келеді. Обьектінің бетіне
графикалық элементті шығару үшін осы обьектінің Canvas қасиетіне сәйкес
әдісті қою керек. Мысалы, Form1.Canvas.Rectangle(10,10,100,10 0)
инструкциясы программа терезесінде тіктөртбұрыш салады.

1. Кластар және Delphi-дің обьектілері
Интерфейс орындалуына Delphi-дің кластар кітапханасы қолданылады,
соның ішінде әртүрлі формалардың компоненттері мен кластардың үлкен
көлімдері.
Жобалау кезінде Delphi қосымшасының фоормалары программаның мәтініне
қажетті обьектілерді қосады. Delphi іске қосылғаннан кейін редактор кодының
терезесінен келесі жолды көруімізге болады:
Type
TForm1=class(TForm)
Private
{Private declarations}
Public
{Public declarations}
End;
Var
Form1:TForm1
Кластар – бұл күрделі программаларды жеңілдету және оның сапасын
арттыру үшін ойластырылған программистердің ерекше өнер табысы. Кластардың
негізінде үш іргелі принцип жатыр, олар: инкапсуляция, мұрагерлік және
полиморфизм.

2.1 Мұрагерлік

Объекті бағдарланған программалауда екінші діңгек болып мұрагерлік
саналады. Бұл қарапайым принцип, егер сіз ескісінен аз ғана өзгеріс бар
жаңа класс құрғыңыз келсе, онда программада бар әдістер мен құрылымдарды
қайтадан жазудың керегі жоқтығын білдіреді. Сіз жаңа класс TnewObject
екенін жариялайсыз.
Мұрагерлік – обьектіге бағытталған бағдарламалаудың басты
механизмдерінің бірі. Оның көмегімен жалпыдан жекеге ауыса отырып, өте
күрделі кластарды құруға болады.
Мұрагерлік дегеніміз – программалық жабдықтауда негізгі кластан туынды
класты алу әдісі. Негізгі кластан бірнеше туынды класс алуға болады. Туынды
кластың барлық қасиеттері мен обьектілері негізгі класпен бірдей болады.
Негізгі класс туынды класпен бірдей бола бермейді.
Негізгі кластан туынды класс, ал туынды кластан жаңа туынды класс
пайда болады. Туынды кластан негізгі кластың жабық элементтеріне
рұқсат жоқ. Негізгі кластың қорғалған және ашық элементтеріне туынды
кластан рұқсат жоқ. Негізгі кластың жабық элементтеріне туынды кластан
рұқсат болу үшін арнайы рұқсат болуы керек. Туынды кластың мүмкіндіктері
негізгі кластың мүмкіндіктерінен әлдеқайда шектелген.
Жаңа класты жобалай отырып алдын ала оның обьектілері қандай анағұрлым
жалпы ерекшеліктерге ие болу керектігін анықтау және ұқсас дайын кластың
бар жоқтығын тексеру қажет.
Түрлі класс обьектілері мен кластардың өздері алдын ала құрастырған
кластар иерархиясына сай келетін обьектілер иерархиясы құрылған кезде
мұрагерлік қатынасында бола алады.
Кез келген класс басқа кластан туындайды. Ол үшін оны хабарлағанда ата
– ана кластың аты көрсетіледі:
TchildClass=Class(TParentClass)
Туындаған кластан автоматты түрде өзінің ата – анасының өрісі, әдісі
және қасиеті шығады және олардың жаңамен толықтырылуы мүмкін. Сөйтіп,
мұрагерлік принципі күрделі кластарды кезеңнен құруды және өзінің жеке
кластар кітапханасын жасауға мүмкіндік береді.
TObject Pascal – дың барлық кластары жалғыз ата – ана TObject класынан
туындаған. Бұл кластың өрісі және қасиеттері жоқ, бірақ өзіне кез келген
обьектілердің барлық өмірлік қасиеттерін қамтитын жалпы тағайындалудың
әдістерін қамтиды. Программист TОbject класы ата – ана болмайтын класс құра
алмайды. Оған төмендегідей бейнелеулер тән:
TaClass=Class(Tobject)
TаClass=Class
Мұрагерлік принципі TОbject класынан оның ұрпақтарына қарай дами
отырып, біртіндеп кеңейетін тармақталған кластар құруға әкеледі. Әрбір
ұрпақ өзінің ата – анасының мүмкіндіктерін толықтырып, оны өзінің
ұрпақтарына беріп отырады.
Обьектіге бағытталған бағдарламаның мұрагерлік қасиеті бұрыннан
анықталған кластарға жаңа өрістер, әдістер және қасиеттерді қосу арқылы
туындыларын құрастыруға мүмкіндік туғызады. Сонымен бірге, жаңа буын өз
иесінің барлық өрістерін, әдістерін және қасиеттерін иемденеді.
Туындысын жариялағанда алғы буынның атын міндетті түрде көрсету қажет.
Мысалы, қызметкерлер класын TEmpl жоғарыдағы қарастырған TPerson класын
FDep деген өрісті қосу арқылы анықтауға болады.
3 - суретте Delphi – дегі кластар тармағы келтірілген. TPersistent
класы өзінің Tobject ата – анасының мүмкіндіктерін кеңейтеді: ол
мәліметтерді файлға сақтап, оны одан қайтадан ала алады, нәтижесінде оның
барлық ұрпақтары осы мүмкіндіктерді орындай алады. TComponent класы өз
кезегіндегі, класты құраушының ортасымен әрекеттесіп, оны өзінің
ұрпақтарына бере алады. TControl класы файлдармен және класты құраушының
ортасымен ғана жұмыс істеп қоймай, сонымен бірге, экранда көрінетін
бейнелерді құруға және оның қызметін орындауға қабілетті, ал оның ұрпағы
TWinControl Windows терезелерін де құра алады және т.б.

3 – сурет. Delphi – дегі кластар тармағы

2.2 Полиморфизм

Полиморфизм – бұл бір атты екі немесе одан да көп ұқсас техникалық
жағынан әртүрлі есептерді шешуге қолданылатын қасиет болып табылады.
Объекті – бағдарланған программалауда полиморфизм қасиетінің мақсаты әрекет
кластарында ортақ тапсырмаларында бір атты қолдану. Мысалы, Си тілі үшін
полиморфизм қасиеті толығымен орындалмайды.
Полиморфизм – бұл мағынасы ұқсас мәселелерді әртүрлі тәсілмен шешетін
кластар қасиеті. Object Pascal – дың шеңберінде кластардың қасиеті оған
кіретін әдістердің жиынтығымен анықталады. Класс ұрпақтарындағы қандай да
бір әдістің алгоритмін өзгерте отырып, программист бұл ұрпаққа ата –
анасында жоқ ерекше қасиетті бере алады. Әдісті өзгерту үшін оны сол
ұрпақта жабу қажет, яғни ұрпақта бір атаулы әдісті хабарлап, оған қажетті
әрекетті жүзеге асыру қажет. Нәтижесінде обьект ата – ана мен обьект
ұрпақта әртүрлі алгоритмдік негізі бар, обьектілерге әртүрлі қасиет беретін
екі бір атаулы әдіс жұмыс істейтін болады.
Object Pascal ... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
С тіліндегі кластар және олардың түрлері
Автоматты жүйелерді жобалау пәнінен электронды оқулық жасау
Delphi ортасында бағдарламалау ( әдістемелік құрал )
Әртүрлі елдердің өнертабыстарды классификациялау жүйелері
C# Тілінің негіздері
Конструктордың қызметі - класс объектісінің өрістерін инициализациялау
RDF моделінің синтаксисі
Параллельді кодтау жүйелері
С++(объектілі-бағытталған программалау)
С тілінде Windows программа құру негіздері және басқару
Пәндер