Создайте класс RightTriangle и Создайте производный класс Rectangle - C#

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

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

Создайте класс RightTriangle (Прямоугольный треугольник), задаваемый катетами и опишите механизм вычисления его периметра. Создайте производный класс Rectangle (Прямоугольник), задаваемый длинами сторон и умеющий вычислять свой периметр. Реализуйте метод с одинаковым именем в обоих классах для вывода параметров объекта Вопрос1: правильно ли я реализовал метод с одинаковым именем в обоих классах для вывода параметров объекта?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace RightTriangle
{   
    class RightTriangle
    {
        private int cathetusA;        //катет А
        private int cathetusB;        //катет Б
        private int hypothenuse;    //гипотенуза
 
        public RightTriangle(int sideA, int sideB)
        {
            cathetusA = sideA;
            cathetusB = sideB;
        }
 
        public int sideA
        {
            get { return cathetusA; }
            set { cathetusA = value; }
        }
 
        public int sideB
        {
            get { return cathetusB; }
            set { cathetusB = value; }
        }
 
        //Вот тут я реализовал метод для треугольника
        //который выводит параметры объекта
        public void getObjectInfo()     
        {
            Console.WriteLine("Triangle info:\nSideA=" + sideA + "\nSideB=" + sideB + "\nPerimetr=" + TrianglePerimetr() + "\n------------");
        }
 
        //метод, который находит периметр треугольника
        public int TrianglePerimetr()   
        {
            //Формула:
            //P = a + b + c
            //c - hypothenuse, a - sideA, b - sideB
            //[SUP]c2[/SUP] = [SUP]a2[/SUP] + [SUP]b2[/SUP]
            Math.Pow(sideA, 2);
            Math.Pow(sideB, 2);
            hypothenuse = sideA + sideB;
 
            Math.Sqrt(hypothenuse); 
            Math.Sqrt(sideA);
            Math.Sqrt(sideB);
 
            return sideA + sideB + hypothenuse;
        }
    }
 
    class Rectangle : RightTriangle
    {
        public Rectangle(int sideA, int sideB) : base(sideA, sideB) { }
 
        //Вот тут я реализовал метод для прямоугольника
        //который выводит параметры объекта
        
        public void getObjectInfo()   //тут getObjectInfo() подчёркивает зелёным цветом, но программа работает
        {                             //RightTriangle.Rectangle.getObjectInfo() hides inherited member RightTriangle.RightTriangle.getObjectInfo(). 
                                      //Use the new keyword if hiding was intended
            Console.WriteLine("Rectangle info:\nSideA=" + sideA + "\nSideB=" + sideB + "\nPerimetr=" + RectanglePerimetr() + "\n------------");
        }
 
        //метод, который находит периметр прямоугольника
        public int RectanglePerimetr()
        {
            //Формула:
            //P = (a + b) * 2
 
            return (sideA + sideB) * 2;
        }
    }
 
    class Program
    {
        static void Main(string[] args)
        {
            RightTriangle triangle = new RightTriangle(5, 10);
            Rectangle rectangle = new Rectangle(20, 10);
 
            triangle.getObjectInfo();
            rectangle.getObjectInfo();
 
            Console.ReadLine();
        }
    }
}

Решение задачи: «Создайте класс RightTriangle и Создайте производный класс Rectangle»

textual
Листинг программы
Math.Pow(sideA, 2);
            Math.Pow(sideB, 2);
            hypothenuse = sideA + sideB; //это единственная строка которая хоть что-то дает в итоге, но поставленную задачу не решает
 
            Math.Sqrt(hypothenuse); 
            Math.Sqrt(sideA); 
            Math.Sqrt(sideB);
 
            return sideA + sideB + hypothenuse;

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


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

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

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