Net platformasi bilan tanishish clr, cts va cls


Download 428.24 Kb.
bet9/18
Sana07.05.2023
Hajmi428.24 Kb.
#1437478
1   ...   5   6   7   8   9   10   11   12   ...   18
Bog'liq
C# методичка

Inkapsulyatsiya
Xususiyatlari va inkapsulyatsiyasi
Xususiyatlarni tushuntirishni boshlashdan oldin, siz " inkapsulyatsiya "haqida umumiy tasavvurga ega bo'lishingiz kerak. Inkapsulyatsiyaning maqsadi "private" ma'lumotlar foydalanuvchilardan yashirilganligiga ishonch hosil qilishdir. Bunga erishish uchun siz quyidagilarni qilishingiz kerak:
maydonlarni/o'zgaruvchilarni quyidagicha e'lon qiling private
xususiy maydonga kirish va yangilash uchun xususiyatlar orqali ommaviy get va set usullarini taqdim eting
Oldingi bobdan siz buni bilib oldingiz xususiy, o'zgaruvchilarga faqat bitta sinf ichida kirish mumkin (tashqi sinf ularga kirish huquqiga ega emas). Biroq, ba'zida biz ularga kirishimiz kerak — va buni xususiyatlar yordamida amalga oshirish mumkin.
Xususiyat o'zgaruvchi va usulning kombinatsiyasiga o'xshaydi va ikkita usulga ega: a get, va setmetod:
class Person{
private string name; // field
public string Name // property{
get { return name; } // get method
set { name = value; } // set method}}


Meros va polimorfizm
Inheretance C# da maydonlar va usullarni bir sinfdan boshqasiga meros qilib olish mumkin. Biz "meros tushunchasi" ni ikki toifaga ajratamiz:
Olingan sinf (bola) - boshqa sinfdan meros bo'lib o'tgan sinf Asosiy sinf (ota-ona) - meros qilib olingan sinf
Sinfdan meros olish uchun foydalaning: belgi.
Quyidagi misolda Car class (bola) Vehicle Class (ota-ona)dan maydonlar va usullarni meros qilib oladi:
class Vehicle // base class (parent){
public string brand = "Ford"; // Vehicle field
public void honk() // Vehicle method{
Console.WriteLine("Tuut, tuut!");}}
class Car : Vehicle // derived class (child)
{public string modelName = "Mustang"; // Car field}
class Program
{static void Main(string[] args){
// Create a myCar object
Car myCar = new Car();
// Call the honk() method (From the Vehicle class) on the myCar object
myCar.honk();
// Display the value of the brand field (from the Vehicle class) and the value of the modelName from the Car class
Console.WriteLine(myCar.brand + " " + myCar.modelName);}}
Nima uchun va qachon "meros"dan foydalanish kerak?
- Bu kodni qayta ishlatish uchun foydalidir: yangi sinf yaratishda mavjud sinfning maydonlari va usullarini qayta ishlating.
Maslahat: shuningdek, keyingi bobni ko'rib chiqing, polimorfizm, bu turli xil vazifalarni bajarish uchun meros qilib olingan usullardan foydalanadi.



Download 428.24 Kb.

Do'stlaringiz bilan baham:
1   ...   5   6   7   8   9   10   11   12   ...   18




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling