class Trapecia { public double x1; public double y1; public double x2; public double y2; public double x3; public double y3; public double x4; public double y4;
class Paral { public double x1; public double y1; public double x2; public double y2; public double x3; public double y3; public double x4; public double y4;
}
class Krug { public double r; public const double Pi = Math.PI;
public void Ploshad() { double S; S = Pi * (r * r); Console.WriteLine("Площадь : {0}", S); }
public void DlinaO() { double L; L = 2 * Pi * r; Console.WriteLine("Длина окружностти : {0}", L); }
} Это не просьба сделать за меня работу, а просто показать, как уменьшить код. Программа, вводим координаты и получаем в итоге ответ, но она огромна, пока читаю тему наследования, но до конца не понимаю, как уменьшить объем кода? Хотя бы часть с переменными x/y? *часть программы удалена из-за ограничения в 10 тысяч символов
Чтобы уменьшить объем кода, можно воспользоваться наследованием и создать базовый класс, содержащий общие свойства и методы для всех фигур. Далее, создать отдельные классы для каждой фигуры, унаследовав их от базового класса и переопределив необходимые методы для каждой конкретной фигуры.
Примерно такой подход можно применить к вашей программе:
using System; namespace ConsoleApplication10 { abstract class Figure { protected double x1; protected double y1; protected double x2; protected double y2; protected double x3; protected double y3; protected double x4; protected double y4; public abstract void CalculateArea(); public abstract void CalculatePerimeter(); } class Rectangle : Figure { public Rectangle(double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4) { this.x1 = x1; this.x2 = x2; this.x3 = x3; this.x4 = x4; this.y1 = y1; this.y2 = y2; this.y3 = y3; this.y4 = y4; } public override void CalculateArea() { // Реализация расчета площади для прямоугольника } public override void CalculatePerimeter() { // Реализация расчета периметра для прямоугольника } } // Другие классы для других фигур class Program { static void Main(string[] args) { Rectangle rectangle = new Rectangle(0, 0, 0, 4, 4, 4, 4, 0); rectangle.CalculateArea(); rectangle.CalculatePerimeter(); } } }
Таким образом, вы можете избежать дублирования кода и сделать программу более структурированной и удобной для поддержки и развития.
Чтобы уменьшить объем кода, можно воспользоваться наследованием и создать базовый класс, содержащий общие свойства и методы для всех фигур. Далее, создать отдельные классы для каждой фигуры, унаследовав их от базового класса и переопределив необходимые методы для каждой конкретной фигуры.
Примерно такой подход можно применить к вашей программе:
using System;namespace ConsoleApplication10
{
abstract class Figure
{
protected double x1;
protected double y1;
protected double x2;
protected double y2;
protected double x3;
protected double y3;
protected double x4;
protected double y4;
public abstract void CalculateArea();
public abstract void CalculatePerimeter();
}
class Rectangle : Figure
{
public Rectangle(double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4)
{
this.x1 = x1;
this.x2 = x2;
this.x3 = x3;
this.x4 = x4;
this.y1 = y1;
this.y2 = y2;
this.y3 = y3;
this.y4 = y4;
}
public override void CalculateArea()
{
// Реализация расчета площади для прямоугольника
}
public override void CalculatePerimeter()
{
// Реализация расчета периметра для прямоугольника
}
}
// Другие классы для других фигур
class Program
{
static void Main(string[] args)
{
Rectangle rectangle = new Rectangle(0, 0, 0, 4, 4, 4, 4, 0);
rectangle.CalculateArea();
rectangle.CalculatePerimeter();
}
}
}
Таким образом, вы можете избежать дублирования кода и сделать программу более структурированной и удобной для поддержки и развития.