Основни понятия в ООР

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

Принципи на ООР

  1. Капсулация (encapsulation)- ненужната информация за класовете се скрива. Потребителят вижда само атрибутите на обектите и операциите, присъщи на даден обект. Работещият с обекта трябва да знае само какво може да прави обектът, а не как го прави.

  2. Наследяване (inheritance)- създават се йерархии от класове, в които се позволява един клас да наследи друг. При наследяване новият клас разполага с всички атрибути и методи, с които разполага родителският клас, плюс нови.

  3. Полиморфизъм (polymorphism)- позволява на обекти от един и същ тип да могат да извършват едно и също действие по различен начин (един интерфейс за различни типове).

Основни понятия в ООР


Клас (class)

class
Класовете са категории от обекти, споделящи общи свойства и операции, които могат да се извършват върху тях. Например, класът "Students" представлява множеството от всички студенти. Класът не съществува реално като физическа същност, а по-скоро можем да го разгледаме като описание на неговите обекти.
Въпреки, че класът е подобен на запис в БД, това не са идентични понятия. Важно различие е, че класовете съдържат функции с различни типове данни.
В процедурното програмиране извикването на функцията се осъществява така:

mysqli_close ( $link );

В обектно-ориентираното програмиране, горният израз ще изглежда така:

$link -> close ();


Обекти (objects)


goTo.jpg
Обектът е конкретен елемент от даден клас. Например студентката X, която е V курс, специалност "ТОХ" в МУ, e обект от класа „Students“.

Модификатори за достъп (Access Control Modifiers )


Модификаторите за контрол на достъпа са ключови думи в ООР, с чиято помощ се определя какъв може да е достъпа до свойствата на обектите, методите и т.н. Преди да се включи модификатор за достъп, в РНР всички класове и техните членове са публични по подразбиране (public).
modificators_access_control.png
Модификатори за контрол на достъпа

Съществуват още две ключови думи, които могат да бъдат използвани като модификатори за контрол на достъпа. Те са abstract и final. Когато пред дефиницията на метод, принадлежащ към родителски клас, е поставена ключовата дума final, се предотвратява възможността този метод да бъде дефиниран повторно в клас наследник (дъщерен клас). Ако даден клас е дефиниран като final, то той не може да бъде наследяван.
За ключовата дума abstract- може би по-късно.

Член променливи


Член променливите са променливи, декларирани в класа. Тези данни са невидими извън класа и са достъпни чрез член функциите на класа. Тези променливи се наричат атрибути на обекта, след като той бъде създаден.

Член функции


Член функциите са функции, създадени вътре в класа, които служат за достъп до обектите.

Интерфейс


Интерфейсът е спецификация на съвкупност от действия, които даден обект предлага.

Свойство/атрибут


Свойството/атрибутът е видима за външния свят характеристика на обект от даден клас.

Метод


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

Инстанциране


Инстанциране е процесът на създаване на обект от даден клас.

Родителски клас (Parent class)


Родителски клас (Parent class) е клас, който е наследен от друг клас. Той се нарича още базов клас или супер клас.

Клас наследник (Child class)


Клас наследник (Child class) е клас, който наследява друг клас. Нарича се още подклас.

Претоварване (Overloading)


Претоварването (Overloading) е вид полиморфизъм, при който един или всички оператори имат различни имплементации, в зависимост от типа на аргументите им. Подобни функции могат да бъдат претоварени с различни имплементации (изпълнения).

Абстракция на данните


Абстракцията на данните е възможността да работим с данни без да се интересуваме от вътрешното им представяне, а само от действията (операциите), които можем да извършваме над тях.

Конструктор (Constructor)


Конструкторът (Constructor) е метод, който се извиква автоматично при създаването на обект от класа. Конструкторите са подходящи за инициализиране на обекта, ако това е необходимо, преди да бъде използван.

Деструктор (Destructor)


Деструкторите (Destructor) са специфичен тип функции, които се извикват автоматично, когато обектът се изтрива.
sign.png

Няма коментари:

Публикуване на коментар