Нельзя создать экземпляр абстрактного класса в C#
Экземпляр абстрактного класса создать нельзя, потому что тип помечен как абстрактный. Так бывает даже без методов без реализации: достаточно модификатора на объявлении класса.
Запишем абстрактный Shape с обычным полем
и попробуем создать его объект:
abstract class Shape
{
public int Id;
}
Попытка создать объект типа Shape
не проходит компиляцию:
var shape = new Shape();
Компилятор сообщает, что класс абстрактный. Объект создают у конкретного потомка:
var square = new Square(5);
Console.WriteLine(square.Side);
class Square : Shape
{
public int Side;
public Square(int side)
{
Side = side;
}
}
Попробуйте создать экземпляр вашего
абстрактного Figure и убедитесь,
что проект не собирается.
Затем создайте Square
и выведите длину стороны.