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

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

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

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

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

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

<b>    name = ob.name;</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 string name { get; set; }</b>

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

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

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

<b>  }</b>

<b>  public virtual double Area() {</b>

<b>    Console.WriteLine(&quot;Метод Area() должен быть переопределен&quot;);</b>

<b>    return 0.0;</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) </b>

<b>             : base (w, h, &quot;треугольник&quot;) {</b>

<b>    Style = s;</b>

<b>  }</b>

<b>  //Сконструировать равнобедренный треугольник,</b>

<b>  public Triangle(double x) : base(x, &quot;треугольник&quot;) {</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>  // Переопределить метод Area() для класса Triangle,</b>

<b>  public override 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>// Класс для прямоугольников, производный от класса TwoDShape.</b>

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

<b>  // Конструктор для класса Rectangle,</b>

<b>  public Rectangle(double w, double h)</b>

<b>          : base (w, h, &quot;прямоугольник&quot;) { }</b>

<b>  // Сконструировать квадрат,</b>

<b>  public Rectangle(double x) : base(x, &quot;прямоугольник&quot;) { }</b>

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

<b>  public Rectangle(Rectangle ob) : base(ob) { }</b>

<b>  // Возвратить логическое значение true, если </b>

<b>  // прямоугольник окажется квадратом,</b>

<b>  public bool IsSquare() {</b>

<b>    if(Width == Height) return true;</b>

<b>    return false;</b>

<b>  }</b>

<b>  // Переопределить метод Area() для класса Rectangle,</b>

<b>  public override double Area() {</b>

<b>    return Width * Height;</b>

<b>  }</b>

<b>}</b>

<b>class DynShapes {</b>