Zbekiston milliy universiteti amaliy matematika va intellektual
Download 56.32 Kb.
|
SHAHZOD Sinflar
- Bu sahifa navigatsiya:
- Kelishuv bo’yicha konstruktor
Dastur natijasi:
myclass1 to'rtburchak:12 myclass2 to'rtburchak:30 Konstruktor (Sinf/Class)Biz bilgan oddiy metodlardan tashqari sinflarda konstruktor deb nomlangan maxsus metodlar ham qo'llaniladi. Berilgan sinfning yangi ob'ekti yaratilganda konstruktorlar chaqiriladi. Konstruktorlar obyektni initsializatsiya qilish uchun xizmat qiladi. Kelishuv bo’yicha konstruktorAgar sinfda hech qanday konstruktor aniqlanmagan bo'lsa, u holda bu sinf uchun avtomatik ravishda kelishuv bo'yicha konstruktor yaratiladi. Bunday konstruktorning parametrlari va tanasi yo'q. Shaxs sinfi va bitta obyektini yaratamiz: namespace ShaKhzoD { class Shaxs { public string name; // ismi public int age; // yoshi public void GetInfo() { Console.WriteLine($"Ismi: {name} Yoshi: {age}"); } } class Program { static void Main(string[] args) { Shaxs Shahzod = new Shaxs(); Shahzod.GetInfo(); // Ismi: Yoshi: 0 Shahzod.name = " Shahzod "; Shahzod.age = 22; Shahzod.GetInfo(); // Ismi: Shahzod Yoshi: 22 Console.ReadKey(); } } } Shaxs obyekti yaratish uchun new Shaxs() iboradan foydalaning. new operatori Shaxs obyekti uchun xotira ajratadi. Va keyin hech qanday parametrlarga ega bo’lmagan kelishuv bo’yicha konstruktor chaqiriladi. Natijada, ushbu ifoda bajarilgandan so'ng, Shaxs obyektining barcha ma'lumotlarini saqlash uchun joy ajratiladi. Shahzod o'zgaruvchisi yaratilgan obyekt “havola”ga ega bo’ladi. Agar konstruktor obyekt o'zgaruvchilar qiymatlarini initsializatsiya qilmasa, u holda ular kelishuv bo’yicha qiymatlarga ega bo’ladi. Ya’ni, sonli turdagi o'zgaruvchilar 0 qiymatiga, satrlar va sinflar uchun esa bu null qiymatiga (ya'ni hech qanday qiymatga ega emas) teng. Obyektni yaratgandan so'ng biz Shahzod o'zgaruvchisi orqali Shaxs ob'ektining o'zgaruvchilariga murojaat qilishimiz va ularning qiymatlarini o'rnatishimiz yoki olishimiz mumkin, masalan, Shahzod.name = “Shahzod”;. Ushbu dastur natijasi konsolda: Ismi: Yoshi: 0 Ismi : Shahzod Yoshi: 22 Konstruktorni yaratish Yuqorida, obyektni initsializatsiya qilish uchun kelishuv bo’yicha konstruktor ishlatilgan. Biroq, biz o'z konstruktorlarimizni o'zimiz aniqlashimiz mumkin: class Shaxs { public string name; public int age; public Shaxs() { name = "Bilmayman"; age = 22; } //1-konstruktor public Shaxs(string n) { name = n; age = 18; } //2-konstruktor public Shaxs(string n, int a) { name = n; age = a; } // 3-konstruktor public void GetInfo() { Console.WriteLine($"Ismi: {name} Yoshi: {age}"); } } Endi sinf uchta konstruktorni aniqlaymiz, ularning har biri har xil parametrlarni qabul qiladi va sinf maydonlarining qiymatlarini belgilaydi. Biz ushbu konstruktorlardan foydalanamiz: static void Main(string[] args) { { Shaxs Shahzod = new Shaxs(); // 1-parametrsiz konstruktorni chaqirish Shaxs azamat = new Shaxs("Azamat"); // 2-bitta parametrli konstruktorni chaqirish Shaxs jasur = new Shaxs("Jasur", 25); // 3-ikkita parametrli konstruktorni chaqirish jasur.GetInfo(); // Ismi: Jasur Yoshi: 25 Shahzod.GetInfo(); // Ismi: Bilmayman Yoshi: 22 azamat.GetInfo(); // Ismi: Azamat Yoshi: 18 Console.ReadKey(); } } Ushbu dasturning konsolga chiqishi: Ismi: Jasur Yoshi: 25 Ismi: Bilmayman Yoshi: 22 Ismi: Azamat Yoshi: 18 Agar sinfda konstruktorlar aniqlangan bo'lsa, unda obyekt yaratishda ushbu konstruktorlardan biri ishlatilishi kerak. Download 56.32 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling