Продемонстрировать принцип иерархии, наследования классов и инкапсуляции данных - C#

Узнай цену своей работы

Формулировка задачи:

Продемонстрировать принцип иерархии, наследования классов и инкапсуляции данных.

Решение задачи: «Продемонстрировать принцип иерархии, наследования классов и инкапсуляции данных»

textual
Листинг программы
using System; 
abstract class TwoDShape { 
double pri_width; 
double pri_height; 
// Конструктор, используемый по умолчанию, 
public TwoDShape() { 
Width = Height =0.0; 
name = "null"; 
} 
// Параметризированный конструктор. 
 
public TwoDShape(double w, double h, string n) { 
Width = w; 
Height = h; 
name = n; 
} 
// Сконструировать объект равной ширины и высоты, 
public TwoDShape(double x, string n) { 
Width = Height = x; 
name = n; 
} 
// Сконструировать копию объекта TwoDShape. 
public TwoDShape(TwoDShape ob) { 
Width = ob.Width; 
Height = ob.Height; 
name = ob.name; 
} 
// Свойства ширины и высоты объекта, 
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 string name { get; set; } 
public void ShowDim() { 
Console.WriteLine("Ширина и высота равны " + 
Width + " и " + Height); 
} 
// Теперь метод Агеа() является абстрактным, 
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; 
} 
 
// Сконструировать равнобедренный треугольник, 
public Triangle(double x) : base(x, "треугольник") { 
Style = "равнобедренный"; 
} 
// Сконструировать копию объекта типа Triangle, 
public Triangle(Triangle ob) : base(ob) { 
Style = ob.Style; 
} 
// Переопределить метод Агеа() для класса Triangle, 
public override double Area() { 
return Width * Height / 2; 
} 
// Показать тип треугольника, 
public void ShowStyleO { 
Console.WriteLine("Треугольник " + Style); 
} 
V/ Класс для прямоугольников, производный от класса 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 IsSquareO { 
if(Width == Height) return true; 
return false; 
} 
// Переопределить метод Агеа() для класса Rectangle, 
public override double Area() { 
return Width * Height; 
} 
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.333 из 5
Похожие ответы