Конструкторы и наследование

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

// Добавить конструктор в класс Triangle.

using System;

// Класс для двумерных объектов.

class TwoDShape

{

double pri_width;

double pri_height;

// Свойства ширины и длины объекта.

public double Width

{

get { return pri_width; }

set { pri_width = value < 0? -value: value; }

}

public double Height

{

get { return pri_height; }

set { pri_height = value < 0? -value: value; }

}

public void ShowDim()

{

Console.WriteLine("Ширина и длина равны " +

Width + " и " + Height);

}

}

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

class Triangle: TwoDShape

{

string Style;

//конструктор

public Triangle(string s, double w, double h)

{

Width = w;//инициализировать член базового класса

Height = h;// инициализировать член базового класса

Style = s;// инициализировать член производного класса

}

// Возвратить площадь треугольника.

public double Area()

{

return Width * Height / 2;

}

// Показать тип треугольника.

public void ShowStyle()

{

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

}

}

class Shapes3

{

static void Main()

{

Triangle t1 = new Triangle("Равнобедренный", 4.0, 4.0);

Triangle t2 = new Triangle("прямоугольный", 8.0, 12.0);

Console.WriteLine("Сведения об объекте t1: ");

t1.ShowStyle();

t1.ShowDim();

Console.WriteLine("Площадь равна " + t1.Area());

Console.WriteLine();

Console.WriteLine("Сведения об объекте t2: ");

t2.ShowStyle();

t2.ShowDim();

Console.WriteLine("Площадь равна " + t2.Area());

}

}


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: