set { pri_width = value < 0 ? -value : value; }
}
public double Height {
get { return pri_height; }
set { pri_height = value < 0 ? -value : value; }
}
public void ShowDim() {
Console.WriteLine("Ширина и высота равны " +
Width + " и " + Height);
}
}
// Класс для треугольников, производный от
// класса TwoDShape.
class Triangle : TwoDShape {
public string Style; // тип треугольника
// Возвратить площадь треугольника, public double Area() {
return Width * Height / 2;
}
// Показать тип треугольника, public void ShowStyleO {
Console.WriteLine("Треугольник " + Style);
}
}
class Shapes2 {
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.ShowStyle(); tl.ShowDim();
Console . WriteLine ("Площадь равна " + tl.AreaO);
Console.WriteLine ();
Console.WriteLine("Сведения об объекте t2: "); t2.ShowStyle(); t2.ShowDim();
Console.WriteLine("Площадь равна " + t2.Area());
}
}
В этом варианте свойстваWidthиHeightпредоставляют доступ к закрытым членамpri_widthиpri_heightклассаTwoDShape,в которых фактически хранятся значения ширины и высоты двумерного объекта. Следовательно, значения членовpri_widthиpri_heightклассаTwoDShapeмогут быть установлены и получены с помощью соответствующих открытых свойств, несмотря на то, что сами эти члены по-прежнему остаются закрытыми.
Базовый и производный классы иногда еще называют
Организация защищенного доступа