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могут быть установлены и получены с помощью соответствующих открытых свойств, несмотря на то, что сами эти члены по-прежнему остаются закрытыми.
Базовый и производный классы иногда еще называют
Организация защищенного доступа