Добавить в цитаты Настройки чтения

Страница 160 из 502

<b>// Передать ссылку на объект производного класса </b>

<b>// переменной ссылки на объект базового класса.</b>

<b>using System;</b>

<b>class TwoDShape { </b>

<b>  double pri_width;</b>

<b>  double pri_height;</b>

<b>  // Конструктор по умолчанию,</b>

<b>  public TwoDShape()    {</b>

<b>    Width = Height = 0.0;</b>

<b>  }</b>

<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>  // Сконструировать копию объекта TwoDShape.</b>

<b>  public TwoDShape(TwoDShape ob) {</b>

<b>    Width = ob.Width;</b>

<b>    Height = ob.Height;</b>

<b>  }</b>

<b>  // Свойства ширины и высоты объекта,</b>

<b>  public double Width {</b>

<b>    get { return pri_width; }</b>

<b>    set { pri_width = value &lt; 0 ? -value : value; }</b>

<b>  }</b>

<b>  public double Height {</b>

<b>    get { return pri_height; }</b>

<b>    set { pri_height = value &lt; 0 ? -value : value; }</b>

<b>  }</b>

<b>  public void ShowDim() {</b>

<b>    Console.WriteLine(&quot;Ширина и высота равны &quot; +</b>

<b>           Width + &quot; и &quot; + Height);</b>

<b>  }</b>

<b>}</b>

<b>// Класс для треугольников, производный от класса TwoDShape. </b>

<b>class Triangle : TwoDShape {</b>

<b>  string Style;</b>

<b>  // Конструктор, используемый по умолчанию,</b>

<b>  public Triangle()    {</b>

<b>    Style = &quot;null&quot;;</b>

<b>  }</b>

<b>  // Конструктор для класса Triangle.</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 = &quot;равнобедренный&quot;;</b>

<b>  }</b>

<b>  // Сконструировать копию объекта типа Triangle,</b>

<b>  public Triangle(Triangle ob) : base(ob) {</b>

<b>    Style = ob.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(&quot;Треугольник &quot; + Style);</b>

<b>  }</b>

<b>}</b>

<b>class Shapes7 {</b>

<b>  static void Main() {</b>

<b>    Triangle t1 = new Triangle(&quot;прямоугольный&quot;, 8.0, 12.0);</b>

<b>    // Сделать копию объекта t1.</b>

<b>    Triangle t2 = new Triangle (t1) ;</b>

<b>    Console.WriteLine(&quot;Сведения об объекте t1: &quot;);</b>

<b>    t1.ShowStyle();</b>

<b>    t1.ShowDim();</b>

<b>    Console.WriteLine (&quot;Площадь равна &quot; + t1.Area());</b>

<b>    Console.WriteLine();</b>

<b>    Console.WriteLine(&quot;Сведения об объекте t2: &quot;);</b>