Dlaczego tak
Klasy abstrakcyjnej nie można utworzyć operatorem new, bo zawiera metody abstrakcyjne bez implementacji, takie jak Pole(). Można natomiast używać jej jako typu zmiennej wskazującej obiekt klasy pochodnej i tworzyć tablice referencji typu Figura — new Figura[3] tworzy tablicę trzech wartości null, a nie obiekty Figura. Metoda Opis() jest zwykłą metodą klasy bazowej i polimorficznie wywołuje Pole() z klasy Kwadrat.