Теоретичний матеріал: розділ 8.
У програмах потрібно описати базовий клас (можливо, абстрактний), в якому за допомогою віртуальних або абстрактних методів і властивостей задається інтерфейс для похідних класів. Метою лабораторної роботи є максимальне використання спадкоємства, навіть якщо для конкретного завдання воно не дає виграшу в об'ємі програми. У всіх класах слід перевизначити метод Equals, щоб забезпечити порівняння значень, а не посилань.
Функція Main повинна містити масив з елементів базового класу, заповнений посиланнями на похідні класи. У цій функції повинне демонструватися використання всіх розроблених елементів класів.
Варіант 1
Створити клас Point (крапка). На його основі створити класи ColoredPoint і Line (лінія) . На основі класу Line створити класи Coloredline і Polyline (багатокутник) . У класах описати наступні елементи:
· конструктори з параметрами і конструктори за умовчанням;
· властивості для установки і набуття значень всіх координат, а також для зміни кольору і отримання поточного кольору;
· для ліній - методи зміни кута повороту ліній щодо першої крапки;
· для багатокутника - метод масштабування.