Вы создаете класс Shape абстрактный . Это означает, что это незаконченный класс, служащий базой для других классов, которые предоставляют дополнительную функциональность.
Например, если у вас есть несколько классов для загрузки данных, у вас может быть абстрактный класс DataLoader и конкретные классы DatabaseLoader , XmlLoader ...