|
Xossalarni qayta e'lon qilish
|
bet | 76/135 | Sana | 22.05.2024 | Hajmi | 15,08 Mb. | | #250347 |
Bog'liq Fizik jarayonlarni kompyuterda modellashtirish Xossalarni qayta e'lon qilish
Metodlar kabi xossalarni ham qayta e'lon qilish mumkin:
class Credit
{
public virtual decimal Sum { get; set; }
}
class LongCredit : Credit
{
private decimal sum;
public override decimal Sum
{
get
{
return sum;
}
set
{
if(value > 1000)
{
sum = value;
}
}
}
}
class Program
{
static void Main(string[] args)
{
LongCredit credit = new LongCredit { Sum = 6000 };
credit.Sum = 490;
Console.WriteLine(credit.Sum);
Console.ReadKey();
}
}
base kalit so'zi
Konstruktorlardan tashqari base kalit so'zi orqali ota klassning boshqa elementlariga murojaat qilish mumkin. Bizning holda base.Display(); Person
klassdagi Display metodi chaqiriladi:
class Employee : Person
{
public string Company { get; set; }
public Employee(string name, string company)
:base(name)
{
Company = company;
}
public override void Display()
{
base.Display();
Console.WriteLine($"{Company}da ishlaydi");
}
}
Metodlarni qayta e'lon qilishni taqiqlash
Ba'zi hollarda qayta e'lon qilishni taqiqlash zarur bo'lishi mumkin. Bunda sealed modifikatoridan foydalanish kerak bo'ladi:
class Employee : Person
{
public string Company { get; set; }
public Employee(string name, string company)
: base(name)
{
Company = company;
}
public override sealed void Display()
{
Console.WriteLine($"{Name} {Company}da ishlaydi");
}
}
sealed modifikatori bilan yaratilinadigan metodlarda bir jihat inobatga olish kerak,
sealed faqatgina override bilan birga qo'llanilishi mumkin. Ya'ni sealed'dan faqat
qayta e'lon qilinayotgan metodlarda foydalanish mumkin. Va bunda Employee
klassdan meros olgan klasslarda Display metodini qayta e'lon qila olmaymiz.
Uyga vazifa. Darsga qo’llaniladigan pedagogik texnologiyalar:
|
| |