Создать базовый класс прямоугольник и класс-наследник квадрат - C#

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

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

Создать базовый класс прямоугольник со свойствами ширина, длина, конструктором с параметрами и методом (метод должен быть виртуальный), который считает периметр прямоугольника. Затем создать класс-наследник квадрат, у которого будут те же свойства, только нужно предусмотреть, чтобы пользователь вводил ширина=длина и периметр считается иначе. Результаты расчётов вывести на экран.

Решение задачи: «Создать базовый класс прямоугольник и класс-наследник квадрат»

textual
Листинг программы
  1. using System;
  2.  
  3. namespace CyberForum
  4. {
  5.     public class Rectange
  6.     {
  7.         public double Width { get; protected set; } // кто угодно имеет доступ на чтение
  8.         public double Height { get; protected set; } // только сам класс и классы-наследники - на запись
  9.        
  10.         public Rectange(double width, double height)
  11.         {
  12.             Width = width;
  13.             Height = height;
  14.         }
  15.        
  16.         public virtual double GetPerimeter()
  17.         {
  18.             return 2.0 * (Width + Height);
  19.         }
  20.     }
  21.    
  22.     public class Square : Rectange
  23.     {
  24.         public Square(double side) : base(side, side) {}
  25.        
  26.         public override double GetPerimeter()
  27.         {
  28.             return 4.0 * Width; // или 4.0 * Height, что аналогично
  29.         }
  30.     }
  31.    
  32.     public class Program
  33.     {
  34.         public static void Main(string[] args)
  35.         {
  36.             Rectange r = new Rectange(3.0, 4.0);
  37.             double rp = r.GetPerimeter();
  38.             Console.WriteLine(rp);
  39.            
  40.             Console.Write("Введите ширину квадрата: ");
  41.             double squareWidth = double.Parse(Console.ReadLine());
  42.            
  43.             Console.Write("Введите высоту квадрата: ");
  44.             double squareHeight = double.Parse(Console.ReadLine());
  45.            
  46.             if (squareWidth != squareHeight)
  47.             {
  48.                 Console.WriteLine("Некорректный ввод.");
  49.             }
  50.             else
  51.             {
  52.                 Square s = new Square(squareWidth);
  53.                 double sp = s.GetPerimeter();
  54.                 Console.WriteLine(sp);
  55.             }
  56.         }
  57.     }
  58. }

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


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

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

10   голосов , оценка 4.2 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы