myclass1 to'rtburchak:12
myclass2 to'rtburchak:30
C# 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.
Agar 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:
using System;
namespace UzbekDevs
{
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 bobur = new Shaxs();
bobur.GetInfo(); // Ismi: Yoshi: 0
bobur.name = "Bobur";
bobur.age = 25;
bobur.GetInfo(); // Ismi: bobur Yoshi: 25
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. bobur 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 bobur o'zgaruvchisi orqali Shaxs ob'ektining o'zgaruvchilariga murojaat qilishimiz va ularning qiymatlarini o'rnatishimiz yoki olishimiz mumkin, masalan, bobur .name = “Bobur”;.
Ushbu dastur natijasi konsolda:
Do'stlaringiz bilan baham: |