Console.WriteLine('Ширина и высота равны ' +

Width + ' и ' + Height);

}

// Теперь метод Area() является абстрактным, public abstract double Area();

}

// Класс для треугольников, производный от класса TwoDShape. class Triangle : TwoDShape { string Style;

// Конструктор, используемый по умолчанию, public Triangle()    {

Style = 'null';

}

// Конструктор для класса Triangle, public Triangle(string s, double w, double h) : base(w, h, 'треугольник') {

Style = s;

I/ Сконструировать равнобедренный треугольник, public Triangle(double x) : base(x, 'треугольник') { Style = 'равнобедренный';

}

// Сконструировать копию объекта типа Triangle, public Triangle(Triangle ob) : base(ob) {

Style = ob.Style;

}

// Переопределить метод Area() для класса Triangle, public override double Area()    {

return Width * Height / 2;

}

// Показать тип треугольника, public void ShowStyle()    {

Console.WriteLine('Треугольник ' + Style);

}

}

// Класс для прямоугольников, производный от класса TwoDShape class Rectangle : TwoDShape {

// Конструктор для класса Rectangle, public Rectangle(double w, double h) : base(w, h, 'прямоугольник'){    }

// Сконструировать квадрат, public Rectangle(double x) : base (x, 'прямоугольник')- { }

// Сконструировать копию объекта типа Rectangle, public Rectangle(Rectangle ob) : base(ob) { }

// Возвратить логическое значение true, если // прямоугольник окажется квадратом, public bool IsSquare() {

if(Width == Height) return true; return false;

}

// Переопределить метод Area() для класса Rectangle, public override double Area() { return Width * Height;

}

}

class AbsShape {

static void Main() {

TwoDShape[] shapes = new TwoDShape[4];

shapes[0] = new Triangle('прямоугольный', 8.0, 12.0); shapes[1] = new Rectangle(10) ;

shapes[2] = new Rectangle(10, 4); shapes[3] = new Triangle(7.0);

for(int i=0; i < shapes.Length; i++)    {

Console.WriteLine('Объект — ' + shapes[i].name);

Console.WriteLine('Площадь равна ' + shapes[i].Area());

Console.WriteLine() ;

}

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ОБРАНЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату