Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Private





{ Private declarations }

Public

{ Public declarations }

End;

Класс бір жағынан жазба (record) – типіне де ұқсайды, ол берілгендердің өрісінен ғана емес,

Мысалы:

Private

FCaption: String; {жолдық типтің өрісі}

FModified: Boolean; {логикалық типтің өрісі}

оларды өңдейтін бағыныңқы бағдарламалардан (әдіс),

Мысалы:

Private

procedure SetCaption(Const ACaption: String);

procedure Close;

сонымен қатар өрістер мен әдістердің сипаттамалары бар қасиеттерден тұрады.

Мысалы:

Public

property Caption: String read FCaption write SetCaption;

property Modified: Boolean read FModified write SetModified;

Сол себепті класта оның сипаттамалары мен тәртібі сипатталған.

Объект – белгілі бір класқа сай келетін айнымалыны береді және айнымалыны жариялау бөлімінде сипатталады. Мысалы:

Var

Form1: TForm1;

Барлық кластарға сай келетін объектіні құра беруге болмайды. Олардың бірқатары әсіресе барлық кластардың иерархиялық ағашының басында орналасқаны бұны орындауға мүмкіндік бермейді, немесе олардың негізінде құрылған объектілер жұмыс істеуге қабілетсіз болып келеді, мысалы TObject ағымды класы. Ол мынамен байланысты, мұндай кластар сол немесе басқа аяқталған объектінің жан – жақты сипаттамасын бермейді (мысалы үшін, жиһаздың тек үлгісін ғана құруға болмайды, ал нақты стөл, нақты орындық және т.б. құруға болады). Мұндай кластар абстрактілі кластар деп аталады, сондықтан оларға абстрактілі әдістер сай келеді. Бұл ерекшелігіне қарамастан, мұндай кластарды құру тиімді, өйткені бұл кластарда барлық ұрпақтарында көп рет қайталамайтындай барлық кластарға тиісті жалпылықты жинақтауға болады.

ОББ үш негізгі қасиеттермен сипатталады:

ü инкапсуляция (encapsulation),

ü туындау (inheritance),

ü полиморфизм (polymorphism).

2.2 Инкапсуляция, туындау және полиморфизм

Класс - өріс, әдіс және қасиетті өзіне бүтіндей қоса отырып, жеке тапсырмаларды шешуге тағайындалған, аяқталған құрылымдық бірлік болып табылады. Әдетте мұндай тапсырма шешімі қандай да бір мәселелер жетегінің айналымында табылатын тапсырма болады. TRichEdit класы rtf-файлдардың (Rich Text Format форматындағы файл) қуатты мәтіндік редакторын береді, ол файлды көруді және редактрлеуді ұйымдастыруға, қаріптің өлшемі мен типін сақтау мен өзгертуге, символдар жолын іздеуге және т.б. тағайындалған. Өріс, әдіс және қасиеттің мұндай бүтіндігін инкапсуляция деп атаймыз.

Бұл тілде көптеген кластар бар (300 – ге жуық), олар Delphi ортасын қолданатын бағдарламашыға арналып Object Pascal тілінің құрауыштарымен - Inprise International фирмасының қызметкерлерінің көмегімен құрылған.

Программист, бағдарламаны құра отырып өзінің пайдаланушы класын құрады. Мұндай кластар не айқын емес құрылады, онда программист Delphi ортасының көрнекілік құралдарын қолданады, ал кластың мәтінін Delphi өзі құрастырады, немесе айқын, онда программист кластың кодын Object Pascal тілінің құралдарымен өзі жазады.

Жаңа класс басқа қарапайым кластың негізінде құрылады. Ол үшін кластың тақырыбында оның аталық класын көрсету керек. Жаңа кластың тақырыбының синтаксисі мынандай түрде болады:

type className = class (ancestorClass)

мұнда className – жаңа кластың аты; ancestorClass – аталық кластың аты. Жаңа класс автоматты түрде өзінің аталық класының өрісін, әдісін және қасиеттерін иемденеді және өзінің өрісі, әдісі және қасиеттерімен толықтырылады. Кластың бұл қасиеті туындау деп аталады. Туындаудың көмегімен қарапайымнан қиынға өту әдісі арқылы, қандай болса да қиын дәрежедегі класты құруға болады. Қарапайым класс болып TObject табылады, ол өріс пен қасиеттен тұрмайды, бірақ кластың данасын құратын, жоятын, осы класқа қызмет көрсету және бағдарламаны қалыпты функциялауға арналған қандай да әдістердің жиынынан тұрады. Осының негізінде барлық аталық класқа ортақ кластың туындау ағашы құрастырылады. Мысалы:


type TPersistent = class (TObject),

type TComponent = class (TPersistent),

type TControl = class (TComponent).

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

2.3 Кластың синтаксисі

Барлық кластың синтаксисі мынандай түрде болады:

Type

ClassName = class (AncestorClass)

MemberList

End;

мұнда ClassName – кластың аты; class – кілттік сөз; AncestorClass – аталық кластың типі; MemberList – өрістер, әдістер және қасиеттердің тізімі. Төменде TForm1 класынан тұратын main модулінің мәтіні көрсетілген.

unit Main;







Date: 2015-07-01; view: 908; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.007 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию