vorislik asoslari

DOCX 1 стр. 25,6 КБ Бесплатная загрузка

Предварительный просмотр (5 стр.)

Прокрутите вниз 👇
1 / 1
vorislik asoslari vorislik oydning asosiy nuqtalaridan biridir. voris(meros) orqali bir sinf boshqa sinfning funksionalligini egallashi mumkin.aytaylik, bizda individual shaxsni tavsiflovchi quyidagi person klassi mavjud: class person { private string _name; public string name { get { return _name; } set { _name = value; } } public void display() { console.writeline(name); } ammo kutilmaganda bizga korxona ishchisini - "employee sinfini" tavsiflovchi sinf kerak bo'ldi. ushbu sinf person sinfi bilan bir xil funktsiyani amalga oshirishi sababli, xodim ham shaxs bo'lganligi sababli, o'z navbatida baza deb ataladigan person sinfining hosilasi (yoki voris yoki sinf osti) bo'lish uchun xodimlar sinfini yaratish oqilona bo'ladi. o`z navbatida person sinfi bazaviy sinf yoki ajdod (yoki superklass): class employee : person { } ikki nuqtadan so'ng biz ushbu sinf uchun asosiy sinfni ko'rsatamiz. employee sinfi uchun person asosiy hisoblanadi va shu sababli employee klassi person sinfidagi barcha bir xil xususiyatlarni, usullarni, maydonlarni voris qilib oladi. vorisga o'tmaydigan …
2 / 1
infdan voris olishi mumkin. hosil qilingan sinfni yaratishda, asosiy sinfga kirish turini ko'rib chiqing - olingan sinfga kirish turi asosiy sinf bilan bir xil yoki cheklangan bo'lishi kerak. ya'ni, agar asosiy sinf in_ternal kirish turiga ega bo'lsa, u holda olingan sinf inte_rnal yoki priv_ate kirish turiga ega bo'lishi mumkin, ammo p_ublic emas. shu bilan birga, shuni ham yodda tutish kerakki, agar asosiy va hosil qilingan sinf har xil to'plamlarda (loyihalarda) bo'lsa, unda bu holda hosil bo'lgan sinf faqat p_ublic modifikatoriga ega bo'lgan sinfdan voris olishi mumkin. agar s_ealed modifikatori bilan sinf e'lon qilingan bo'lsa, u holda bu sinf voris qilib olinmaydi va hosilaviy sinflarni yaratish mumkin emas. masalan, quyidagi sinf avlodlarni yaratishga yo'l qo'ymaydi: sealed class admin { } statik sinfdan sinfni voris qilib olinmaydi. hosil qilingan sinfdan tayanch sinf a'zolariga kirish per_son va emp_loyee sinflariga qaytamiz. e_mployee o'zining barcha funktsiyalarini person sinfidan olgan bo'lsa-da, keling quyidagi holatda nima bo'lishini …
3 / 1
me; } public void display() { console.writeline(name); } } class employee : person { public string company { get; set; } public employee(string name, string company) : base(name) { company = company; } } pegrson sinfida name xususiyatini o'rnatuvchi konstruktor mavjud. egmployee sinfi bir xil name xususiyatini voris qilib olganligi 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 sinf konstruktorida o'rnatilishi kerak bo'lgan yana bir qancha xususiyatlar va parametrlar bo'lishi mumkin. asosiy kalit so'z bilan biz asosiy sinfga murojaat qilishimiz mumkin. bizning holatimizda biz employee sinfining konstruktorida nom va kompaniyani belgilashimiz kerak. ammo biz o'rnatish uchun nomni bazalik sinfning konstruktoriga, ya'ni person sinfining konstruktoriga base (name) iborasi yordamida beramiz. static void main(string[] args) { person p = new person("bill"); p.display(); employee emp = new employee ("tom", "microsoft"); emp.display(); console.read(); } hosilaviy sinflarda konstruktorlar konstruktorlar voris olayotganda …
4 / 1
aqirishingiz kerak: public employee(string name, string company) : base(name) { company = company; } shu bilan bir qatorda, biz asosiy sinfda parametrsiz konstruktorni aniqlay olamiz: class person { // sinfning qolgan kodi //standart konstruktor public person() { firstname = "tom"; console.writeline("parametsiz konstruktorni chaqirish"); } } keyin asosiy sinfning konstruktoriga havola bo'lmagan har qanday hosil qilingan sinfning har qanday konstruktorida ushbu standart konstruktor hali ham yashirincha chaqiriladi. masalan, quyidagi konstruktor public employee(string company) { company = company; } aslida quyidagi konstruktorga teng bo'ladi: public employee(string company) :base() { company = company; } konstruktorga chaqirish tartibi sinf konstruktori chaqirilganda, avval asosiy sinflarning konstruktorlari qayta ishlanadi, shundan keyingina hosilaviy sinflarning konstruktorlari chaqiriladi. masalan, quyidagi sinflarga e`tibor bering: class person { string name; int age; public person(string name) { this.name = name; console.writeline("person(string name)"); } public person(string name, int age) : this(name) { this.age = age; console.writeline("person(string name, int age)"); } } class employee …
5 / 1
3. person(string name) konstruktori chaqiriladi va bajarilishini system.object sinfining konstruktoriga topshiradi, chunki bu person uchun standart bo'yicha bazaviy sinf. 4. system.object.object () konstruktori bajariladi, so'ngra person(string name)konstruktoriga qaytariladi. 5. person(string name) konstruktorining tanasi bajariladi, so'ngra bajaruv person(string name, int age) konstruktoriga qaytariladi 6. person(string name, int age) konstruktorining tanasi bajariladi, so'ngra bajarish employee(string name, int age, string company) konstruktorga qaytadi. 7. employee(string name, int age, string company) konstruktor tanasi bajariladi. natijada, employee ob'ekti yaratiladi

Хотите читать дальше?

Скачайте все 1 страниц бесплатно через Telegram.

Скачать полный файл

О "vorislik asoslari"

vorislik asoslari vorislik oydning asosiy nuqtalaridan biridir. voris(meros) orqali bir sinf boshqa sinfning funksionalligini egallashi mumkin.aytaylik, bizda individual shaxsni tavsiflovchi quyidagi person klassi mavjud: class person { private string _name; public string name { get { return _name; } set { _name = value; } } public void display() { console.writeline(name); } ammo kutilmaganda bizga korxona ishchisini - "employee sinfini" tavsiflovchi sinf kerak bo'ldi. ushbu sinf person sinfi bilan bir xil funktsiyani amalga oshirishi sababli, xodim ham shaxs bo'lganligi sababli, o'z navbatida baza deb ataladigan person sinfining hosilasi (yoki voris yoki sinf osti) bo'lish uchun xodimlar sinfini yaratish oqilona bo'ladi. o`z navbatida person sinfi bazaviy sinf yoki ajdod (yoki superklass)...

Этот файл содержит 1 стр. в формате DOCX (25,6 КБ). Чтобы скачать "vorislik asoslari", нажмите кнопку Telegram слева.

Теги: vorislik asoslari DOCX 1 стр. Бесплатная загрузка Telegram