Создать базовый класс прямоугольник и класс-наследник квадрат - C#
Формулировка задачи:
Создать базовый класс прямоугольник со свойствами ширина, длина, конструктором с параметрами и методом (метод должен быть виртуальный), который считает периметр прямоугольника. Затем создать класс-наследник квадрат, у которого будут те же свойства, только нужно предусмотреть, чтобы пользователь вводил ширина=длина и периметр считается иначе. Результаты расчётов вывести на экран.
Решение задачи: «Создать базовый класс прямоугольник и класс-наследник квадрат»
textual
Листинг программы
using System;
namespace CyberForum
{
public class Rectange
{
public double Width { get; protected set; } // кто угодно имеет доступ на чтение
public double Height { get; protected set; } // только сам класс и классы-наследники - на запись
public Rectange(double width, double height)
{
Width = width;
Height = height;
}
public virtual double GetPerimeter()
{
return 2.0 * (Width + Height);
}
}
public class Square : Rectange
{
public Square(double side) : base(side, side) {}
public override double GetPerimeter()
{
return 4.0 * Width; // или 4.0 * Height, что аналогично
}
}
public class Program
{
public static void Main(string[] args)
{
Rectange r = new Rectange(3.0, 4.0);
double rp = r.GetPerimeter();
Console.WriteLine(rp);
Console.Write("Введите ширину квадрата: ");
double squareWidth = double.Parse(Console.ReadLine());
Console.Write("Введите высоту квадрата: ");
double squareHeight = double.Parse(Console.ReadLine());
if (squareWidth != squareHeight)
{
Console.WriteLine("Некорректный ввод.");
}
else
{
Square s = new Square(squareWidth);
double sp = s.GetPerimeter();
Console.WriteLine(sp);
}
}
}
}