10-Labaratoriya ishi Mavzu: Voris sinflarni yaratish va foydalanish


Hosil qilingan sinfdan tayanch sinf a'zolariga kirish



Download 19,02 Kb.
bet2/5
Sana24.12.2022
Hajmi19,02 Kb.
#895458
1   2   3   4   5
Bog'liq
3 mavzu

    Bu sahifa navigatsiya:
  • _name
Hosil qilingan sinfdan tayanch sinf a'zolariga kirish.
Person va Employee sinflariga qaytamiz. Employee barcha funktsiyalarni Person sinfidan olgan bo'lsa-da, keling quyidagi holatda nima bo'lishini ko'rib chiqaylik:
class Employee : Person
{
public void Display()
{
Console.WriteLine(_name);
}
}
Ushbu kod ishlamaydi va xatoga yo'l qo'yadi, chunki _name o'zgaruvchisi private modifikatori bilan e'lon qilingan va shuning uchun unga faqat Person sinfi kirish huquqiga ega. Boshqa tomondan, Person sinfi biz foydalanishi mumkin bo'lgan Name umumiy mulkini belgilaydi, shuning uchun quyidagi kod biz uchun yaxshi ishlaydi:
class Employee : Person
{
public void Display()
{
Console.WriteLine(Name);
}
}
Shunday qilib, hosil bo'lgan sinf faqat private protected (agar baza va olingan sinf bir xil sinfdan meros olingan bo'lsa), public, internal (agar baza va olingan sinf bir xil sinfdan meros olingan bo'lsa), protected va protected internal modifikatorlari bilan aniqlangan asosiy sinf a'zolariga kira oladi.
Asosiy kalit so'z. Endi sinflarimizga konstruktorlarni qo'shaylik:
class Person
{
public string Name { get; set; }
public Person(string name)
{
Name = name;
}
public void Display()
{
Console.WriteLine(Name);
}
}
class Employee : Person
{
public string Company { get; set; }
public Employee(string name, string company)
: base(name)
{
Company = company;
}
}
Person sinfida Name xususiyatini o'rnatuvchi konstruktor mavjud. Employee sinfi bir xil Name xususiyatini meros qilib oladigan va o'rnatganligi sababli, o'rnatish kodini yuz marta yozmaslik, lekin qandaydir tarzda Person sinfining tegishli kodini chaqirish mantiqan to'g'ri bo'ladi. Bundan tashqari, asosiy sinfning konstruktorida o'rnatilishi kerak bo'lgan yana bir qancha xususiyatlar va parametrlar bo'lishi mumkin.
base kalit so'zi bilan biz asosiy sinfga murojaat qilishimiz mumkin. Bizning holatimizda biz "Employee" sinfining konstruktorida nom va kompaniyani belgilashimiz kerak. Ammo biz o'rnatish uchun nomni base(name) ifodasi yordamida tayanch sinf konstruktoriga, ya'ni Person sinf konstruktoriga beramiz.
static void Main(string[] args)
{
Person p = new Person("Bill");
p.Display();
Employee emp = new Employee ("Tom", "Microsoft");
emp.Display();
Console.Read();
}

Download 19,02 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish