15-amaliy mashg'ulot Mavzu: Sinf yaratish va ob’yektlarni xosil qilish.
Sinf yaratish va ob’yektlarni xosil qilish.Bu
shuni anglatadiki, C # da dastur o'zaro bog'liq bo'lgan o'zaro bog'liq ob'ektlar
shaklida ifodalanishi mumkin.
Ob'ektning tavsifi
sinf
bo'lib, ob'ekt bu sinfning namunasini ifodalaydi. Siz hali ham quyidagi o'xshashlikni amalga oshirishingiz
mumkin. Bizda ism, yosh, boshqa xususiyatlarga ega bo'lgan shaxsning ba'zi g'oyalari bor. Ya'ni, ba'zi
bir naqsh - bu shablonni
sinf deb atash mumkin. Ushbu shablonning o'ziga xos timsoli farq qilishi mumkin, masalan, ba'zi odamlar bir ismga ega,
boshqalari esa boshqa nomga ega. Va, albatta, mavjud bo'lgan shaxs (aslida, bu sinfning nusxasi) bu sinfning ob'ektini
ifodalaydi.
Asosan, sinflar allaqachon ishlatilgan. Misol uchun, turi
string
, qaysi bir mag'lubiyatga
ifodalaydi, aslida bir sinf. Yoki,
masalan,
WriteLine()
konsolda ba'zi ma'lumotlarga ega bo'lgan Console klassi. Keling, o'z sinflarimizni qanday aniqlashimiz
mumkinligini ko'rib chiqaylik.
Aslida, sinf foydalanuvchi tomonidan belgilanadigan yangi turni ifodalaydi. Sinf kalit so'z bilan belgilanadi SLASS:
"Class" so'zidan keyin
sinf nomi bor, keyin esa qavslar ichida sinfning mazmuni to'g'ri keladi. Misol uchun,
dastur faylini
aniqlang.
bir kishi vakili bo'ladi, deb cs shaxs sinf:
Biroq,
bu sinf ayniqsa aniq emas, shuning uchun biz unga ba'zi funksiyalarni qo'shamiz.
Maydonlar va sinf usullari
Sinf ba'zi ma'lumotlarni saqlashi mumkin. Sinfdagi ma'lumotlarni saqlash uchun
maydonlar ishlatiladi
. Aslida
, sinf
maydoni
-o'zgaruvchilar, sinf darajasida belgilangan.
Bundan
tashqari, sinf ba'zi xatti-harakatlarni yoki bajarilgan ishlarni aniqlay oladi. Sinfdagi xatti-harakatlarni aniqlash uchun
usullar qo'llaniladi.
Shunday qilib, Person sinfiga dalalar va usullarni qo'shing:
Bunday holda, Person sinfida
name
ismni saqlaydigan maydon va insonning
yoshini saqlaydigan maydon
aniqlanadi
age
. O'zgaruvchilar farqli o'laroq, usullari belgilangan, sinf dalalar bir nitelemeler bo'lishi mumkin, maydon oldida
ko'rsatilgan qaysi. Shunday qilib,
bu holatda, barcha sohalar inson sinf maydonidan tashqarida mavjud bo'lishi uchun ommaviy
modifikator bilan aniqlanadi.
Maydonlarni aniqlashda biz ularga ba'zi qiymatlarni belgilashimiz mumkin, yuqoridagi misolda bo'lgani kabi
o'zgaruvchilar
name
uchun . Agar sinf
joylari ishga tushirilmasa, ular standart qiymatlarni oladi. Raqamli turlarning
o'zgaruvchilari uchun bu raqam 0.
Bundan tashqari, Person
sinfida usul aniqlanadi
Print()
. Sinf usullari o'z maydonlariga kirish imkoniyatiga ega va bu holda biz
ularning qiymatini konsolga chiqarish uchun name va age sinf maydonlariga murojaat qilamiz. Va bu usul sinfdan tashqarida
ko'rinishi uchun, u ham ommaviy modifikator bilan belgilanadi.
class название_класса
{
//
содержимое класса
}
class Person
{
}
class Person
{
public string name = "Undefined"; // имя
public int age; // возраст
public void Print()
{
Console.WriteLine($"Имя: {name} Возраст: {age}");
}
}