static (C#, Java) - Abstraction (Obyektlik dasturlash)

|
Abstraction (Obyektlik dasturlash)
|
bet | 15/24 | Sana | 17.05.2024 | Hajmi | 49,53 Kb. | | #239490 |
Bog'liq Interview questions answersstatic (C#, Java): Bu non-access modifier, o'ziga xos (klass bo'yicha emas, nusxalar orqali emas) bo'lgan o'zgarmas (stabil) o'zgaruvchilar va metodlar uchun ishlatiladi.
csharpCopy code
public class Namuna { public static int hisob = 0; // Statik o'zgaruvchi public static void HisobniChopEt() { Console.WriteLine(hisob); } }
final (Java), sealed (C#): Bu modifier, klassning o'zidan tuzalgan turdagi ob'ektlar yaratishni oldini oladi, ya'ni bu klassdan boshqa klasslar merasidan miras olishni to'xtatadi.
javaCopy code
public final class Misol { // Bu klassning ichida boshqa klasslar ochildirish mumkin emas }
abstract (C#, Java): Bu modifier, abstract (niyati) klass va metodlar uchun ishlatiladi. Ushbu klasslardan ob'ekt yaratish mumkin emas, lekin ularni boshqa klasslar ochildirib, ularning funksiyalarini implement qilish mumkin.
csharpCopy code
public abstract class Namuna { public abstract void AmalniBajar(); }
Bu non-access modifierlar kodni tuzish va ob'ektlarning o'z xulqini belgilash uchun foydalaniladi.
Part_2
Record klasslar C# dasturlash tilidagi ma'lum bir turi bo'lib, ma'lum bir amal uchun ma'lum bir ma'lumot turi yaratishni osonlashtirish maqsadida ishlatiladi. Record klasslari, veri saqlash va uni ishlashda osonlik yaratish uchun mo'ljallangan. Ushbu klasslar odatda o'zgarishsiz (immutable) va qiymatli nesnalar yaratish uchun foydalaniladi.
Record klassini yaratish uchun, klass nomidan keyin 'record' kalit so'zidan foydalaniladi. Misol uchun:
csharpCopy code
public record Shaxs(string Ism, string Familiya);
Bu misolda, Shaxs nomli record klassi yaratilgan. Ushbu klassning ixtiyoriy soniya, to'liq, hash code va boshqa metodlari avtomatik ravishda yaratiladi.
Record klasslarining constructor'lari avtomatik ravishda generatsiya qilinadi va har bir atribut uchun biror parametrini qabul qiladi. Yukoridagi misolda, Shaxs klassining avtomatik generatsiya qilingan constructor'i quyidagicha bo'ladi:
csharpCopy code
public Shaxs(string Ism, string Familiya) => (this.Ism, this.Familiya) = (Ism, Familiya);
Bu constructor, Ism va Familiya atributlarini o'z ichiga oladi va ularga berilgan qiymatlarni saqlaydi.
Record klasslarining o'zlariga xos metodlari ham mavjud bo'lishi mumkin, shuningdek, o'zgarishsizlik (immutable) va natijada ushbu nesnalarni muqobil nesnalarga taqqoslash uchun Equals() va GetHashCode() metodlari ham avtomatik ravishda generatsiya qilinadi.
Начало формы
Part_3
Sealed classlar, C# (va boshqa bir necha dasturlash tillarida) classlar uchun foydalaniladigan ma'lum bir kalit so'zdir. Sealed classlar, ularni boshqa classlar yaratib ololmang, deb belgilaydi. Boshqa so'zlar bilan, bir classni "sealed" qilganingizda, bu classdan boshqa classlar miras olishmaydi.
Sealed class yaratish uchun sealed kalit so'zidan foydalaniladi. Misol:
csharpCopy code
sealed class Sigaret { // Classning ichiga funksiyalar va o'zgaruvchilar kiritiladi }
Sealed classlar, kodni asosiy tuzish va yo'qotish (eng. encapsulation) prinsiplarini mustahkam qilish uchun ishlatiladi. Sealed classlar, kodni yuqori sifatli va ishlovchi qilishga yordam bera olishi mumkin, chunki ularning davlatini va xususiyatlarini boshqa kod qismidan o'zgartirish va bog'lab tashlash mumkin emas. Bu, dasturchiga, kodni mustaqil va barqaror yozish va saqlashga imkoniyat beradi.
Boshqa sabablar ham mavjud bo'lishi mumkin, masalan, dizaynni saqlash, optimallashtirish, ma'lumot-himoya, joriy proyekt strukturasi va boshqalar. Sealed classlar, turli tuzilishlardan va boshqa kod segmentlaridan olib tashlanishni, uning funksiyalarini o'zgartirishni va unga kirishni oldini olishni ta'minlaydi.
|
| |