Private
Fname: integer; //1 - ші өрісінің аты
Faddress: string[35]; //2 - ші өрісінің аты
Constructor Create; // құрастырушы
Public
Procedure Show; // Show - әдісі
End;
Объектілер қалай құрылады және жойылады?
Объект конструктор деп аталатын арнайы тәсілдің негізінде пайда болады да, басқа бір тәсіл- деструктордың көмегімен жойылады:
AMyObject := TMyObject.Create;
{ құрылған объектіге қолданылатын амалдар }
...
AMyObject.Destroy;
Класстың бірнеше конструкторы болуы мүмкін. Конструктордың жалпы аты create. Деструктордың типтік аталуы — Destroy.
type
TMyObject = class(TObject)
MyField: Integer;
Constructor Create;
Destructor Destroy;
Function MyMethod: Integer;
end;
Өрістер, қасиеттер және тәсілдер
Класстың өрістері - класстың ішінде сипатталған айнымалылар. Олар класстың объектісінің жұмысы барысында деректерді сақтауға арналған.
Класстың сипаттамасында өрістер тәсілдер мен қасиеттерден бұрын келуі керек.
Әдетте өрістер класстың ішіндегі операциялардың орындалуын қамтамасыз ету үшін қолданылады.
Деректер алмасу үшін класста қасиеттер қолданылады. Қасиеттерді сипаттау үшін класста property сөзі қолданылады.
Мысалы, қосымша терезесіндегі қарапайым батырманың түс, өлшем, алатын орны сияқты қасиеттері болады.
Қасиеттер сыртқы ортамен дерек алмасуды қамтамасыз етеді.
Сондықтан оның мәнін пайдалану үшін класстың арнайы тәсілдері пайдаланылады.
Әдетте қасиет үш элемент арқылы анықталады: өріс және оқу/жазуды жүзеге асыратын екі тәсіл:
type
TAnObject = class(TObject)
function GetColor: TSomeType;
procedure SetColor(ANewValue:
TSomeType);
property AColor:
TSomeType read GetColor write
SetColor;
end;
Егер қасиет тек оқылатын немесе жазылатын болса, онда оның сипаттамасында сәйкес тәсіл жазыла алады:
type
TAnObject = class(TObject)
property AProperty: TSomeType
read GetValue;
end;
Объектінің берілгендеріне орын бөлу - құрастырушы Create әдісін қолданудың нәтижесін меншіктеу арқылы орындалады, мысалы:
Proff:=TPerson.Create;
// proff объектінің берілгендеріне қажетті орын бөлу
Сонымен қатар, Consructor көмегімен объектінің берілгендеріне бастапқы мәндерін меншіктеуге, яғни объектіні инициялизациялау әрекетін орындауға болады:
Constructor TPerson Create;
Begin
fname:=’ ‘;
faddress:=’ ‘;
end;
Ендi объектiнi жариялап, инициялизациялаудан кейiн оны пайдалануға болады.
Жоғарыда айтылғандай, объектінің өрісіне қол жеткізу үшін объектінің және өрістің атын көрсету керек (арасында нүкте тұрады). Мысалы, Proff.fname. Егер белгілі бір объект ары қолданылмаса, онда жадыны босатуға болады. Осы әрекетті орындау үшін Free - деструктор әдісін қолдану керек, мысалы: Proff.Free;
Әдістер
Кластың әдістері (кластың анықтамасындағы көрсетілген процедуралар және функциялар) осы кластың объектілерімен жұмыс атқарады. Әдісті қолдануда объектінің атын және әдістің атын нүктемен ажыратып көрсетеді. Әдісті объектке қолдану - процедураның шақырылуына ұқсас. Кластың әдістерін анықтау әдеттегі процедуралар және функциялардың анықталуымен бірдей, тек әдістің процедурасының және функцияларының аты күрделі болып екі бөліктен тұрады: иесінің - кластың атынан, нүкте және әдістің атынан.
Инкапсуляция және объектінің қасиеттері
Инкапсуляция деп объектінің өрістеріне оның әдістері арқылы қол жеткізу үшін объектінің өрістерін жасыруды атайды. Delphi ортасында объектінің өрістеріне қол жетерлік мүмкіндіктерін шектеуді оның қасиеттері арқылы анықтайды. Объектінің қасиеті оның мәнін сақтайтын өрісімен және осы өріске қол жетерлік мүмкіндіктерін анықтайтын екі әдіспен сипатталады. Қасиеттің мәнін орнатуды
қасиеттің мәнін жазу (Write), ал қасиеттің мәнін қайтару -
қасиеттің мәнін оқу (Read) әдістерімен орындалады. Кластың анықтамасында қасиеттің атының алдына
Properties сөзі, оның түрі және осы қасиетке қол жетерлік мүмкіндігін қамтитын әдістің аты орналасады.
Иемдену
ОББ - ның иемдену қасиеті бүрыннан анықталған кластарға жаңа өрістер, әдістер және қасиеттерді қосу арқылы туындыларын құрастыруға мүмкіндік туғызады. Сонымен бірге жаңа буын өз “иесінің“ барлық өрістерін, әдістерін және қасиеттерін иемденеді.
Туындысын жариялағанда алғы буынның атын міндетті түрде көрсету қажет. Мысалы, қызметкерлер класын TEmpl жоғарыдағы қарастырылған TPerson класына FDep (бөлім) деген өрісті қосу арқылы анықтауға болады.
3.2. Protected және private нұсқаулары
Клас элементттерін (өрістері, әдістері және қасиеттері) жариялаумен қатар әдетте кластың анықтамасына protected (қорғалған ) және private (жасырылған) нұсқауларын келтіреді. Бұл нұсқаулар кластың элементттеріне қол жетерлік мүмкіндігін анықтайды.
Protected арқылы анықталған элементттерді тек олардың туындыларынан көруге болады. Қол жетерлік аймақ кластың анықтамасы орналасқан модульмен шектелмейді. Әдетте Protected бөлімшесіне кластың әдістер анықтамасын орналастырады.
Private арқылы анықталған элементттер тек модульде белгілі болып саналады. Осындай сипатталған элементттерге модульден тыс және кластардың туындыларынан қол жеткізуге болмайды. Әдетте Private бөлімшесіне кластың өрістерінің сипаттамаларын орналастырады, ал осы өрістерге қол жеткізу үшін қолданылатын әдістер анықтамасын Protected бөлімшесінде орналастырады.
3.3. Полиморфизм және виртуалдық әдістер
Полиморфизм, дегеніміз, - әртүрлі кластарға жататын әдістерге бір атауды қолдану мүмкіндігі. ОББ - ның осы қасиеті арқылы кластың әртүрлі объектілеріне бір атаудағы әдісті қолданғанда, дәл аталмыш объектіне сәйкес әдістің орындалуын қамтиды.
<предыдущая страница | следующая страница>