Страница 157 из 502
<b> // Конструктор для класса TwoDShape. </b>
<b> public TwoDShape(double w, double h) {</b>
<b> Width = w;</b>
<b> Height = h;</b>
<b> }</b>
<b> // Сконструировать объект равной ширины и высоты, </b>
<b> public TwoDShape(double x) {</b>
<b> Width = Height = x;</b>
<b> }</b>
<b> // Свойства ширины и высоты объекта, </b>
<b> public double Width {</b>
<b> get { return pri_width; }</b>
<b> set { pri_width = value < 0 ? -value : value; }</b>
<b> }</b>
<b> public double Height {</b>
<b> get { return pri_height; }</b>
<b> set { pri_height = value < 0 ? -value : value; }</b>
<b> }</b>
<b> public void ShowDim() {</b>
<b> Console.WriteLine("Ширина и высота равны " +</b>
<b> Width + " и " + Height);</b>
<b> }</b>
<b>}</b>
<b>// Класс для треугольников, производный от класса TwoDShape. </b>
<b>class Triangle : TwoDShape {</b>
<b> string Style; // закрытый член класса</b>
<b>/* Конструктор, используемый по умолчанию. </b><b>Автоматически вызывает конструктор, доступный по умолчанию в классе TwoDShape. */ </b>
<b> public Triangle() {</b>
<b> Style = "null";</b>
<b> }</b>
<b> // Конструктор.</b>
<b> public Triangle(string s, double w, double h) : base(w, h) { </b>
<b> Style = s;</b>
<b> }</b>
<b> // Сконструировать равнобедренный треугольник, </b>
<b> public Triangle(double x) : base(x) {</b>
<b> Style = "равнобедренный";</b>
<b> }</b>
<b> // Возвратить площадь треугольника, </b>
<b> public double Area() {</b>
<b> return Width * Height / 2;</b>
<b> }</b>
<b> // Показать тип треугольника, </b>
<b> public void ShowStyle() {</b>
<b> Console.WriteLine("Треугольник " + Style);</b>
<b> }</b>
<b>}</b>
<b>// Расширить класс Triangle, </b>
<b>class ColorTriangle : Triangle { </b>
<b> string color;</b>
<b> public ColorTriangle(string c, string s,</b>
<b> double w, double h) : base(s, w, h) {</b>
<b> color = c;</b>
<b> }</b>
<b> // Показать цвет треугольника,</b>
<b> public void ShowColor() {</b>
<b> Console.WriteLine("Цвет " + color);</b>
<b> }</b>
<b>}</b>
<b>class Shapes6 {</b>
<b> static void Main() {</b>
<b> ColorTriangle t1 =</b>
<b> new ColorTriangle("синий", "прямоугольный", 8.0, 12.0);</b>
<b> ColorTriangle t2 =</b>
<b> new ColorTriangle("красный", "равнобедренный", 2.0, 2.0);</b>
<b> Console.WriteLine("Сведения об объекте t1: ");</b>
<b> t1.ShowStyle(); </b>
<b> t1.ShowDim();</b>
<b> t1.ShowColor();</b>
<b> Console .WriteLine ("Площадь равна " + t1.Area());</b>
<b> Console.WriteLine() ;</b>
<b> Console.WriteLine("Сведения об объекте t2: ");</b>
<b> t2.ShowStyle();</b>
<b> t2.ShowDim();</b>
<b> t2.ShowColor() ;</b>