Konstruktorlar.
O’tgan misollarda Vehicle sinfidagi har Qaysi ob’ektni Qo’llash uchun operatorlarni Quyidagi ketma-ketligiga asoslangan Qiymatlarni Qo’lda belgilash zarur edi.
Minivan. Passengers -7;
Minivan. Fuelcap q14;
minivan . Mpg q12;
Bu usul hech vaQti S professional yozilgan programmalarda Qo’llanilmaydi, chunki bunda birinchidan tasodifiy xato yuzaga kelish ehtimolligi mavjud, ikkinchidan S da konstruktordan foydalanishna asoslangan bu masalani hal etishni boshQa usuli ko’zda tutilgan.
Konstruktor sinfi ob’ektni yaratish jarayonida initsiallaydi. U sinf nomiga mos keluvchi nom bilan belgilanadi va usulga (ma’nosiga ko’ra) sintaksis o’xshash bo’ladi. Ammo konstruktorlarda takrorlanuvchi turlar Qiymati aniQ ko’rsatilmaydi. Konstruktorning ma’no jihatidan umumiyligi:
class – name ( ) (
G’G’ konstruktorning kodi
)
Odatda konstruktorlar ma’lum sinflarning o’zgaruvchan ekzemplyariga boshlang’ich Qiymatni berishda yoki ob’ektni to’liQ shakllantirishda initsiallash jarayonining istalgan bosQichida Qo’llaniladi.
Hamma sinflar u aniQlangan yoki yo’Q bo’lishga Qaramasdan konstruktorlariga ega. Teng holatda S da hamma o’zgaruvchan ekzemplyarlariga va hull mavjudligi ko’zda tutilgan.
Agar sinf uchun konstruktor aniQ belgilab olingan bo’lsa teng holatni konstruktordan foydalanilmaydi.
Oddiy misolni ko’rib chiQamiz.
G’G’ Oddiy konstruktorga misol.
using System;
konstruktor myclass sinfi
| class my class ( )(
xqic;
)
(class consdemo {
public static void Main ( ) {
My class t1-new Myclass ( );
My class t2-new Myclass ( );
console. Writeline (t1.x Q “”Q t2.x.);
Ushbu misolda Myclass sinfidagi konstruktordan foydalanilgan.
public Myclass
x-10;
Konstruktor public ko’rinishida aniQlangan deb belgilab olamiz. Bu konstruktorlar kodi
myclass t1-new myclass ();
Bu konstruktor uning sinfi chegarasidan tashQaridan chiQarilganligi sababli Qilingan. Konstruktor myclass sinfi 10 Qiymatini o’zgaruvchan X ekzemplyarini o’zlashritib oladi. Bu konstruktor ob’ektni yaratishda new operatori deyiladi.
Masalan myclass t1kodi Qatorida. Konstruktor t1 ob’ektni yaratishda,X10 Qiymatigi t1 o’zgaruvchini berishda myclass operatori chaQiriladi. Shu narsa t2 ob’ektda ham bo’ladi. O’zgaruvchan konstruktor t2 chaQirilgandan so’ng X10 Qiymatini oladi. Shunday Qilib, programmaning bajarilishi natijasida Quyidagi Qiymatlar keltirib chiQaradi: 10 10.
Do'stlaringiz bilan baham: |