|
Mavzu; Operatsion tizimlar haqida umumiy maʼlumot
|
bet | 45/49 | Sana | 20.12.2023 | Hajmi | 0,91 Mb. | | #125486 |
Bog'liq Mavzu; Operatsion tizimlar haqida umumiy ma lumotIsmi: Yoshi: 0
Ismi : Bobur
Yoshi: 25
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 = 25;
} //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 bobur = 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
bobur.GetInfo(); // Ismi: Bilmayman Yoshi: 25
azamat.GetInfo(); // Ismi: Azamat Yoshi: 18
Console.ReadKey();
}
}
Ushbu dasturning konsolga chiqishi:
Ismi: Jasur Yoshi: 25
Ismi: Bilmayman Yoshi: 25
Ismi: Azamat Yoshi: 18
Agar sinfda konstruktorlar aniqlangan bo'lsa, unda obyekt yaratishda ushbu konstruktorlardan biri ishlatilishi kerak.
C#da inkapsulyatsiya: public, private, protocted va internal kalit so‘zlari.
Reja:
1. C# Kirish ma’lumoti.
2. C# Enkapsulatsiya
3. Yopiq va ochiq kirishni tashkil etish
Kirish modifikatorlari. C# da to'rtta kirish modifikatorlari mavjud: public, private, protected va internal. Sinf a’zolariga kirish va ularni boshqarishda public va private kirish modifikatorlari ishlatiladi. Protected modifikator faqat vorislik bilan bog'liq hollarda qo'llaniladi. Internal modifikator esa asosan yig'ish uchun mo'ljallangan o'rnatilgan dastur yoki kutubxonani anglatadi. Agar sinf a'zosi public spetsifikatsiyasi bilan belgilangan bo'lsa, unga dasturdagi istalgan boshqa koddan, shu jumladan boshqa sinflarda belgilangan metodlardan kirish mumkin bo'ladi. Agar sinf a'zosi private spetsifikatsiyasi bilan belgilangan bo'lsa, unga faqat shu sinfning boshqa a'zolari kirishi mumkin. Shuning uchun, boshqa sinflarning metodlari ushbu sinfning yopiq a'zosiga (private) kirish huquqiga ega emas. Agar kirish spetsifikatorlaridan hech biri ko'rsatilmagan bo'lsa, sinf a'zosi yopiq hisoblanadi. Shuning uchun, yopiq sinf a'zolarini yaratishda, ular uchun private spetsifikatsiyasi talab qilinmaydi.Kirish spetsifikatsiyasi alohida a'zo turi e’lonining qolgan qismidan oldin keladi. Bu shuni anglatadiki, sinf a'zolari e’loni aynan shu bilan boshlanishi kerak. Quyida tegishli misollar keltirilgan.
namespace UzbekDevs
{
class MyClass
{
private int alpha; // yopiq a'zo
int beta; // standart yopiq a'zo
public int gamma; //ochiq a'zo
// alpha va beta uchun kirish metodlarini yozamiz.
public void SetAlpha(int a)
{
alpha = a;
}
public int GetAlpha()
{
return alpha;
}
public void SetBeta (int a)
{
beta = a;
}
public int GetBeta()
{
return beta;
}
}
class AccessDemo
{
static void Main(string[] args)
{
MyClass myClass = new MyClass();
myClass.SetAlpha(100);
myClass.SetBeta(10);
Console.WriteLine("myclass alpha=" + myClass.GetAlpha());
Console.WriteLine("myclass beta=" + myClass.GetBeta());
myClass.gamma = 50;
Console.WriteLine(myClass.gamma);
Console.ReadKey();
}
}
}
Dastur natijasi:
|
| |