// Sinflarning oddiy ierarxiyasiga misol.
using System;
// Ikki o'lchovli ob'ektlar uchun sinf
class TwoDShape {
public double Width;
public double Height;
public void ShowDimO {
Console.WriteLine("Ширина и высота равны " +
Width + " и " + Height);
}
}
// Triangle sinfi TwoDShape sinfidan olingan
class Triangle : TwoDShape {
public string Style; // тип треугольника
// Возвратить площадь треугольника,
public double Area() {
return Width * Height / 2;
}
// Uchburchak tipini ko'rsatish
public void ShowStyleO {
Console.WriteLine("Треугольник " + Style);
}
}
class Shapes {
static void Main() {
Triangle tl = new Triangle();
Triangle t2 = new Triangle();
tl.Width = 4.0;
tl.Height = 4.0;
tl.Style = "равнобедренный";
t2.Width = 8.0;
t2.Height = 12.0;
t2.Style = "прямоугольный";
Console.WriteLine("Сведения об объекте tl: ");
tl.ShowStyleO ;
tl.ShowDimO ;
Console.WriteLine("Площадь равна
Console.WriteLine() ;
+ tl.AreaO ) ;
Console.WriteLine("Сведения об объекте t2: ");
t2.ShowStyle();
t2.ShowDim();
Console.WriteLine("Площадь равна " + t2.Area());
}
}
Ushbu dasturni bajarilganda quyidagi natijalar olinadi.
Сведения об объекте tl:
Треугольник равнобедренный
Ширина и высота равны 4 и 4
Площадь равна 8
Сведения об объекте t2:
Треугольник прямоугольный
Ширина и высота равны 8 и 12
Площадь равна 4 8
Triangle sinfida TwoDShape sinfining maxsus tipi yaratiladi (bu holda-uchburchak). Bundan tashqari, Triangle klassi TwoDShape sinfining barcha a'zolarini o'z ichiga oladi, xususan, Area() va ShowStyle() metodlari qo'shiladi. Shunday qilib, uchburchak turining tavsifi Style o`zgaruvchisida saqlanadi, Area() metodi uchburchakning maydonini hisoblab chiqadi va qaytaradi, ShowStyle() metodi uchburchakning turini ko'rsatadi
TwoDShape sinfini meros qilib olish uchun Triangle sinfida ishlatiladigan sintaksisga e'tibor bering.
class Triangle : TwoDShape {
Ushbu sintaksisni umumlashtirish mumkin. Bir sinf boshqasiga merosxor bo'lib qolganda, asosiy sinf nomi natijaviy sinf nomidan keyin ikki nuqta bilan ajratilgan holda ko'rsatiladi. C# tilida sinfning meros sintaksisi hayratlanarli darajada oddiy va ishlatish uchun qulay.
Triangle sinfi TwoDShape asosiy sinfining barcha a'zolarini o'z ichiga oladi va shuning uchun Width va Height o'zgaruvchilariga Area() metodidan kirishga ruxsat mavjud. Bundan tashqari, Main() metodidagi tl va t2 ob'ektlari to'g'ridan-to'g'ri Width va Height o'zgaruvchilariga, xuddi Triangle sinfining a'zolari kabi murojaat qilishlari mumkin. 11.1-shakl bo'yicha TwoDShape sinfi Triangle sinfiga qanday kiritilganligini sxematik tarzda ko'rsatadi
Do'stlaringiz bilan baham: |