Mavzu :“Qisqa xabar” oynasini hosil qilish: ShowMassage.
Reja:
1.Inkapsulyastiya va ob’ekt xossalari
2.Oyna hosil qilish
3. Xossa qiymatini o’rnatish
Inkapsulyastiya - bu sinfga birlashtirilgan qayta ishlash uchun mo’ljallangan ma’lumotlar va qism dasturlardir. Sinf maydonlari ma’lumotlarni o’z ichiga oladi. Bu ma’lumotlarni qayta ishlashda qo’llaniladigan prostedura va funkstiyalarga usullar deyiladi. Ob’ektga yo’naltirilgan dasturlashda sinf maydonlariga to’g’ridan to’g’ri murojaat ruxsat etilmaydi. Shu sabab Object Pascalda “xossa” (svoystva) deb ataluvchi maxsus konstrukstiya qaraladi. U mos usulni chaqirish yordamida maydondan o’qish yoki yozishni amalga oshiradi.
Misol tariqasida Delphida aniqlangan standart sinflarni keltirish mumkin.
TEdit - formaga qatorlarni kiritish ishlarini boshqarish va tashkil qilishni bajaradi.
TLabel - formaga belgilarni kiritish ishlarini boshqarish va tashkil qilishni bajaradi.
TButton - formaga joylashtirilgan tugmacha yordamida dasturchi tamonidan kiritilgan dastur kodlarining bajarilishini ta’minlaydi.
Sinf nomlarining bosh harfi “T” harfi bilan boshlanish qabul qilingan.
Inkapsulyastiya deyilganda ob’ekt maydonlariga to’g’ridan to’g’ri emas, fakat sinf usullari orqali murojaat qilishga aytiladi.
Delphi tilida ob’ekt maydonlariga murojaat ob’ekt xossalari orqali amalga oshiriladi. Ob’ekt xossasiga murojjaat kilish uchun ikki usuldan foydalaniladi. Xossa tashqaridan sinf maydonini anglatsa, ayni holda u maydondan foydalanish imkonini beruvchi boshqarish mexanizmdir. Xossa qandaydir sinf maydonlari bilan bog’liq bo’lgan o’qishda va yozishda ishlatilishi kerak bo’lgan sinf usullarini ko’rsatadi. O’qish uchun ishlatiladigan funkstiya nomi Get bo’lib, unga mos xossa nomi qo’shilib yoziladi. Yozish uchun ishlatiladigan usul bitta parametrli Set nomi qism dastur bo’lib, uning nomiga ham mos xossa nomi qo’shilib yoziladi. O’qish va yozish usullari va uning parametri ham bir xil xossaga ega bo’lishi lozim. Xossani e’lon qilish uchun Property, Read va Write so’zlari ishlatiladi. Read va Write usul nomlari bo’lib, ular mos ravishda o’qish va yozish uchun mo’ljallangan. Masalan,
Type
TStudent=Class
Fage: Integer;
Function GetAge: Integer;
Procedure GetAge(Value:Integer);
Property Age: Integer Read GetAge Write SetAge;
End;
Bu erda Age - FAge maydoni, hamda GetAge va SetAge usullari bilan bog’liq xossa bo’lib, Fage maydonidan o’qish yoki yozish uchun xizmat qiladi.
Dastur matnida xossaga murojaat qilish usul va maydon uchun qanday bo’lsa xuddi shunday ob’ekt nomi, nuqta va xossa nomi yozilishi bilan ishlatiladi. Masalan,
Var
GoodStudent: TStudent;
HisAge: Integer;
Begin
GoodStudent:=Tstudent.Create;
GoodStudent.Age:=19;
. . . . . . . . . . . . . . .
HisAge:=GoodStudent.Age;
. . . . . . . . . . . . . . .
GoodStudent.Free;
End;
Xossa qiymatini o’rnatish - xossani yozish (write) usuli, xossa qiymatini olish - xossani o’qish (read) usuli deb ataladi.
Sinf ta’rifida xossa nomidan oldin property (xossa) so’zi yoziladi. Xossa nomidan so’ng uning turi ko’rsatiladi, read so’zidan so’ng xossani o’qishni ta’minlovchi usul, write - so’zidan so’ng xossani yozishni ta’minlovchi usul nomi yoziladi.
Quyida ikki Name va Address xossalarini o’z ichiga oluvchi TPerson sinfi ta’rifi keltirilgan:
Do'stlaringiz bilan baham: |