
Програмна реалізація алгоритму
Об’єктно-орієнтоване програмування інкапсулює дані (атрибути) і функції (варіанти поведінки) в сукупності, які називаються об’єктами; дані і функції об’єкта тісно пов’язані між собою. Об’єкти володіють властивістю скритності інформації. Це означає, що хоча об’єкти і можуть знати, як зв’язуватися один з одним через добре визначений інтерфейс, їм зазвичай не дозволено знати, як реалізовані інші об’єкти – деталі реалізації скриті в середині самих об’єктів. В С одиницею програмування являється функція. В С++ одиницею програмування являється клас, на основі якого в кінцевому рахунку створюються об’єкти.
Класи – це типи, які визначаються програмістом. Кожен клас містить дані і набір функцій, які маніпулюють цими даними. Компоненти-дані називаються даними-елементами. Компоненти-функції класу називаються функціями-елементами.
Специфікатори доступу до елементу public (відкритий), private (закритий) і protected (захищений) використовуються для управління доступом до даних-елементів класу і функцій-елементів. По замовчуванню режим доступу для класів – private (закритий). Після кожного специфікатора режим доступу, визначений ним, діє до наступного специфікатора або до завершальної правої дужки (}) визначення класу. Специфікатор public, private і protected можуть повторятись.
Закриті елементи класу можуть бути доступні тільки для функцій-елементів (і дружніх функцій) цього класу. Відкриті елементи класу можуть бути доступні для будь-яких функцій в програмі. Захищені елементи доступні для функцій-елементів цього класу і класу-спадкоємця.
Після створення об’єкта його елементи можуть бути ініціалізовані за допомогою функції конструктор. Конструктор – це функція-елемент класу, яка має те ж саме ім’я, що й клас. Дані-елементи класу не можуть отримати початкові значення у визначені класу. Вони можуть бути ініціалізовані або пізніше, після створення об’єкту, або можуть отримати ці значення в конструкторі класу.
Дружні функції класу визначаються поза областю дії цього класу, але мають доступ до закритих (private) і захищених (protected) елементів класу. Дружні (friend) функції використовуються для підвищення продуктивності.
Наслідування – це спосіб повторного використання програмного забезпечення, при якому нові класи створюються з уже існуючих класів шляхом запозичення їхніх атрибутів і функцій і збагачення цими можливостями нових класів.
В нашій програмі використовуються наступні класи:
Point – базовий для всіх геометричних фігур в нашій програмі клас. Кожна геометрична фігура в нашій програмі має множину точок:
class point
{int x,y;
public:};
Наслідує цей клас(шляхом вкладення) - клас лінії Line, який “перетворює” фігуру на лінію з точками початку та кінця відрізка.
class Line
{point A;
point B;
double a,b,c;
public:};
А клас Line наслідує клас трикутника:
class Treangle
{Line AB;
Line BC;
Line AC;
int color;
public:};
Розробка допоміжних програмних засобів
Інтерфейс програми реалізовано у вигляді меню. Меню забезпечує пункти для редагування вхідного файлу програми, тексту програми інформацію про розробника програми та вихід із програми. Меню розроблене за допомогою стандартних бібліотечних функцій компілятора Borland C++ 3.1. Назви кнопок зчитуються з файлу menuab.dat.
Вигляд вікна про розробника наступний: