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

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

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

Создайте класс RightTriangle (Прямоугольный треугольник), задаваемый катетами и опишите механизм вычисления его периметра. Создайте производный класс Rectangle (Прямоугольник), задаваемый длинами сторон и умеющий вычислять свой периметр. Реализуйте метод с одинаковым именем в обоих классах для вывода параметров объекта Вопрос1: правильно ли я реализовал метод с одинаковым именем в обоих классах для вывода параметров объекта?
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace RightTriangle
  8. {
  9. class RightTriangle
  10. {
  11. private int cathetusA; //катет А
  12. private int cathetusB; //катет Б
  13. private int hypothenuse; //гипотенуза
  14. public RightTriangle(int sideA, int sideB)
  15. {
  16. cathetusA = sideA;
  17. cathetusB = sideB;
  18. }
  19. public int sideA
  20. {
  21. get { return cathetusA; }
  22. set { cathetusA = value; }
  23. }
  24. public int sideB
  25. {
  26. get { return cathetusB; }
  27. set { cathetusB = value; }
  28. }
  29. //Вот тут я реализовал метод для треугольника
  30. //который выводит параметры объекта
  31. public void getObjectInfo()
  32. {
  33. Console.WriteLine("Triangle info:\nSideA=" + sideA + "\nSideB=" + sideB + "\nPerimetr=" + TrianglePerimetr() + "\n------------");
  34. }
  35. //метод, который находит периметр треугольника
  36. public int TrianglePerimetr()
  37. {
  38. //Формула:
  39. //P = a + b + c
  40. //c - hypothenuse, a - sideA, b - sideB
  41. //[SUP]c2[/SUP] = [SUP]a2[/SUP] + [SUP]b2[/SUP]
  42. Math.Pow(sideA, 2);
  43. Math.Pow(sideB, 2);
  44. hypothenuse = sideA + sideB;
  45. Math.Sqrt(hypothenuse);
  46. Math.Sqrt(sideA);
  47. Math.Sqrt(sideB);
  48. return sideA + sideB + hypothenuse;
  49. }
  50. }
  51. class Rectangle : RightTriangle
  52. {
  53. public Rectangle(int sideA, int sideB) : base(sideA, sideB) { }
  54. //Вот тут я реализовал метод для прямоугольника
  55. //который выводит параметры объекта
  56. public void getObjectInfo() //тут getObjectInfo() подчёркивает зелёным цветом, но программа работает
  57. { //RightTriangle.Rectangle.getObjectInfo() hides inherited member RightTriangle.RightTriangle.getObjectInfo().
  58. //Use the new keyword if hiding was intended
  59. Console.WriteLine("Rectangle info:\nSideA=" + sideA + "\nSideB=" + sideB + "\nPerimetr=" + RectanglePerimetr() + "\n------------");
  60. }
  61. //метод, который находит периметр прямоугольника
  62. public int RectanglePerimetr()
  63. {
  64. //Формула:
  65. //P = (a + b) * 2
  66. return (sideA + sideB) * 2;
  67. }
  68. }
  69. class Program
  70. {
  71. static void Main(string[] args)
  72. {
  73. RightTriangle triangle = new RightTriangle(5, 10);
  74. Rectangle rectangle = new Rectangle(20, 10);
  75. triangle.getObjectInfo();
  76. rectangle.getObjectInfo();
  77. Console.ReadLine();
  78. }
  79. }
  80. }

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

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

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


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

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

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

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

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

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