static void Main(string[] args) { ITetragon tetragon = new Tetragon(); // C# 8.0 will solve this issue by introducing the most specific override rule. Console.WriteLine(value: $"{tetragon.Print()}"); }
public override bool Equals(object obj) { if (obj == null || this.GetType() != obj.GetType()) { return(false); } Tetragon myTetragon = (Tetragon)obj; return((sideA == myTetragon.sideA) && (sideB == myTetragon.sideB) && (sideC == myTetragon.sideC) && (sideD == myTetragon.sideD)); //OR return (this.sideA.Equals(myTetragon.sideA) && this.sideB.Equals(myTetragon.sideB) && this.sideC.Equals(myTetragon.sideC) && this.sideD.Equals(myTetragon.sideD)); }
static void Main(string[] args) { Triangle triangle = new Triangle("Треугольник", 4, 2, 5); Tetragon tetragon = new Tetragon("Четырехугольник", 2, 3, 4, 5); triangle.Print(); tetragon.Print(); Console.WriteLine($"Площадь треугольника:{triangle.Area2}"); Console.WriteLine($"Площадь четырехугольника:{tetragon.Area2}"); }