ООП - Класове и обекти

Обектите представляват единство на своите физически и функционални характеристики (Принцип 1)

Обект – същност и характеристики
Пример: обектът “самолет”
Понятийна част = физически характеристики = полета (field) = член-променливи = атрибути = състояние (state)
Функционалните характеристики = методи = член-функции = поведение (behaviour)
обект = данни + код (процедури)
Множество от обекти със сходни характеристики на поведение и състояние се нарича клас.
Екземплярът е конкретен обект, принадлежащ на даден клас.
Съобщението представлява указание за осъществяване на определено действие (операция) над обект.

Динамика на съществуването: Създаване, инициализиране и унищожаване на обекти
В ООП има два подхода за създаване/ унищожаване на екземпляри (заделяне/освобождаване на памет): автоматично или чрез специална операция (new/delete).
Операцията инициализация формира началното състояние на обекта (от което започва неговият жизнен цикъл) и подготвя правилното функциониране на този обект през периода на съществуването му (напр. начални стойности на полетата, копиране на друг обект, динамично резервиране на памет, инициализиране на външни устройства, изчистване на опашка, очертаване на прозорци за диалог и т.н.).
            Инициализацията на обект се извършва чрез специално предназначен за тази цел метод (най-често конструктор, constructor).
Преди един обект да бъде унищожен обикновено се налагат някои завършващи действия, (напр. възстановяване на първоначалните стойности на локалните променливи, освобождаване на памет, изчистване на екрана и др.),  при което основна роля обикновено играе специален метод на обекта, наречен деструктор.

Проектиране на класове и обекти
ПЪРВИ ЕТАП
ОТДЕЛЯНЕ НА КЛАСОВЕТЕ И ОБЕКТИТЕ ОТ ПО НА ЗАДАЧАТА
Класове и обекти могат да бъдат:
  • реални неща от ПО;
  • абстракции в ПО;
  • роли на реалните неща;
  • възгледи, мнения, преценки;
  • отношения и взаимоотношения между отделните елементи;
  • събития, в които участват различните елементи
и не на последно място неща, които биха участвали в изграждането на програмна система.
Правило: Поведението на класовете и обектите в ПО е определящо при тяхната идентификация

ВТОРИ ЕТАП
ПРОЕКТИРАНЕ НА ХАРАКТЕРИСТИКИТЕ НА ОБЕКТИТЕ И КЛАСОВЕТЕ
Проектиране на състоянието.
       Правила: адекватност, икономичност на представянето, лекота и ефективност на обработката.
Проектиране на поведението:
  • Правило 1: Моделираното поведение трябва да осигурява присъщата за обекта функционалност
  • Правило 2: Моделът на поведение трябва да осигурява херметизацията на обекта
ОО модел на класа се изгражда на две нива: от гледна точка на интерфейса и от гледна точка на разработчика на класа.
 ОО ДИАГРАМИ
Пример: ОО проектиране на понятието “рационално число”, с възможности за привеждане в правилна форма (несъкратима дроб).
Предимства на ООП
  • По-голяма надеждност на програмата;
  • Улеснява се процесът на програмиране като сложността се намалява чрез метода “разделяй и владей”;
  • Отстранява се нежеланият страничен ефект от използване на глобални променливи;
  • Писането на ОО програми се доближава до т. нар. декларативен стил на програмиране;
  • Повишава се четливостта на програмите.

Коментари: