Наследование и(или) уменьшение объема кода — C#?
В учебнике Троелсона на примере фигур рассматривается принцип наследования
Сделайте класс figura (раз уж по английски никак) и там создайте членыprotected double x1;
protected double y1;
protected double x2;
protected double y2;
protected double x3;
protected double y3;
protected double x4;
protected double y4;
От него унаследуйте все свои круги и квадраты
Еще можно в figura определить абстрактные методы Ploshad() и Perim()
А у наследников определить реализацию - каждому свою.
Так правильнее. И вы сможете, например, работать с коллекцией фигур. НапримерList<figura> figuri = new List<figura>();
figuri.Add(new krug());
figuri.Add(new romb());
figuri.Add(new kvadrat());

foreach(var fig in figuri)
{
Console.WriteLine(fig.ploshad());
}
Не сказать, что кода станет сильно меньше. Хотя вам не придется в каждом классе объявлять вот эту портянку из x1, x2... y4
Удобнее будет работать с семейством классов - это очень полезное изменение
Важнее научится правильно именовать переменные и объекты: Krug - Disk, Ploshad - Area. Это важно.
На примере класса Krug (остальные фигуры по аналогии).
-Создается полиморфный тип. B данном примере преимущество не заметно, но в реальных проектах может быть много общих методов, которые могут в точности повторяться в классах наследниках.
-public const double Pi = Math.PI; - выкидывается, т.к. создает избыточность
-вместо S = Pi * (r * r); нужно использовать готовый метод Math.Pow
-лучше использовать инициализацию присваиванием double area = Math.PI * Math.Pow(Radius, 2); где это возможно
-методы должны возвращать значение без Console.WriteLine("Shape");, таким образом данный пример можно использовать в приложении WindowsForms, например 
-можно добавить конструктор с параметром для инициализации св-ва Radius class Shape
{
    //общие для фигур методы
    public virtual string GetShapeName()
    {
        return "Shape";
    }
}

class Disk : Shape
{
    public double Radius { get; set; }
    
    public double Area()
    {
        double area = Math.PI * Math.Pow(Radius, 2);
        return area;
    }
 
    public double Length()
    {
        double length = 2 * Math.PI * Radius;
        return length;
    }

    public override string GetShapeName()
    {
        return "Disk";
    }
}