Програмно осигуряване

© Христо Тужаров, 2008

ОБЕКТНО ОРИЕНТИРАНО ПРОГРАМИРАНЕ  ООП

 

[Home] [Съдържание] [В началото] [За проекта] [За автора] [Бизнес консултации] [Асеневци]

 

ИНСТРУМЕНТАЛНО ПРОГРАМНО ОСИГУРЯВАНЕ

 

ПРОГРАМНИ ЕЗИЦИ 

 

КЛАСИФИКАЦИЯ НА ПРОГРАМНИТЕ ЕЗИЦИ

 

ПРОЦЕДУРНО ПРОГРАМИРАНЕ

 

ОБЕКТНО ОРИЕНТИРАНО ПРОГРАМИРАНЕ  ООП

 

ЛОГИЧЕСКО ПРОГРАМИРАНЕ

 

ЕЗИЦИ ЗА ОПИСВАНЕ НА WEB  СТРАНИЦИ

СКРИПТОВИ ЕЗИЦИ

 

По своята природа и идея ООП не е свързан с конкретен език. Това е принцип за построяване на програма, който включва не само жизнения и цикъл, но и начина на мислене.

 

Основни принцип на обектнто програмиране

Според Алан Кей, един от авторите на обектно-ориентираната система Smalltalk те са:

  • Всичко може да бъде обект.

  • Обектите взаимодействат един с друг посредством изпращане на съобщения.

Съобщение - това е молба за изпълнение на действие, допълнена с набор аргументи, които са необходими за изпълнение на действието.

  • Всички операции се извършват чрез взаимодействие между обектите.

  • Всеки обект има независима памет, в която са поместени други обекти.

  • Всеки обект се явява представител на клас, който изразява общите свойства на обектите,

  • В класа се задава поведението на обекта. Всички обекти от един клас умеят да изпълняват едни и същи действия.

  • Класовете са организирани в единна йерархическа дървовидна структура с общ корен. Паметта и поведението на обектите на даден клас се  наследяват от обектите от класа, разположен по-ниско в йерархическото дърво.

Термини в обектнто програмиране

 

Обектно-ориентирано  програмиране (ООП)

Метод за програмиране, при който главен елемент на програмата се явява обект.

 

Обект

Елементарна единица в ООП, включваща в себе си както описващите обекта данни, така и средствата за обработка на тези данни.

 

Клас

Обобщено описание на набор  обекти, притежаващи някои еднакви методи и структури от данни.

 

Подклас

По-подробно описание, отнасящо се към някакво специализирано подмножество на набор от обекти, от описания клас. Понякога подклас наричат също производни или дъщерни класове.

 

Наследяване

Механизъм за автоматическо включване в състава на различни класове, подкласове и обекти едни и същи методи и структури за данни.

 

          Процес по създаване на приложни програми се разбива на два етапа:

  • Програмисти с висока квалификация, ползвайки обектно-ориентирани езици за програмиране създават готови за използване обекти.

  • Разработчици с малък опит или потребители събират и съединяват необходимите им програми, използвайки готови обекти, така както детето строи дом от кубчета.

Използваният подход се базира на факта, че обкръжаващият ни свят се състои от цялостни обекти, които притежават определени свойства и поведение.

 

Основни понятия в обектнто програмиране

 

Инкапсулация

  • Обединяване на данните с процедурите и функциите в рамките на единно цяло - обекта;

  • В ООП обектът представлява запис, която съединява данните и процедурата, т.е. обектът притежава определени свойства и поведение.

  • При ООП в обекта е капсулиран механизма на едно или друго явление, което дава възможност на програмистите да използват този обект, при необходимост, без да се замислят как той е създаден.

Типичен пример на този подход е използването на елементи за управление (ActiveX-компоненти).

 

Наследяване

  • Възможност за създаване йерархия на обектите с използване наследяване на техните характеристики.

  • Обектите могат да наследяват свойства и поведение от други обекти, които се наричат родителски обекти. Това води до повторно използване на вече написан код.

  • При наследяване новият обект има всичко с което разполага стария родител, плюс новите свойства определени от създателя му.

Полиморфизъм

  • Задаване име на действие, което се предава нагоре и надолу по йерархията на обектите, с реализация на действието по начин, съответстващ на всеки обект в йерархията.

  • Терминът произхожда от гръцки и означава много форми.

  • Обектите, разполагащи с едноименни методи или свойства, могат с лекота да се управляват в хода на програмата, независимо от това, че тези едноименни свойства и методи изпълняват абсолютно различни действия. Например, свойството Font, широко разпространено в много компоненти.

Развитие на обектно-ориентираното програмиране

 

Структурно  програмиране à Модулно програмиране à  Обектно-ориентираното програмиране

 

Примери за обектно-ориентирани езици: C++, Actor, Object Pascal, Java.

 

Най-разпространените системи за обектно-ориентирано визуално програмиране: Microsoft Visual Basic и Borland Delphi.

 

Катализатор на широкото разпространяване на обектно-ориентираното програмиране стана технологията World Wide Web. Практически всички нови разработки за тази система се изпълняват с помощта на обектно-ориентираните езици (например, език Java).