Создайте класс 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;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д