Страница 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 < 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 string name { get; set; }</b>
<b> public void ShowDim() {</b>
<b> Console.WriteLine("Ширина и высота равны " +</b>
<b> Width + " и " + Height);</b>
<b> }</b>
<b> public virtual double Area() {</b>
<b> Console.WriteLine("Метод Area() должен быть переопределен");</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 = "null";</b>
<b> }</b>
<b> // Конструктор для класса Triangle,</b>
<b> public Triangle(string s, double w, double h) </b>
<b> : 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> // Сконструировать копию объекта типа 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("Треугольник " + 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, "прямоугольник") { }</b>
<b> // Сконструировать квадрат,</b>
<b> public Rectangle(double x) : base(x, "прямоугольник") { }</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>