Концепцията, която лежи в основата на обектно-ориентираното програмиране е, че светът е изграден от обекти. Обектите, могат да бъдат групирани в класове, в зависимост от свойствата си. ООР се прилага обикновено при създаване на големи проекти.
Класовете са категории от обекти, споделящи общи свойства и операции, които могат да се извършват върху тях. Например, класът "Students" представлява множеството от всички студенти. Класът не съществува реално като физическа същност, а по-скоро можем да го разгледаме като описание на неговите обекти.
Въпреки, че класът е подобен на запис в БД, това не са идентични понятия. Важно различие е, че класовете съдържат функции с различни типове данни.
В процедурното програмиране извикването на функцията се осъществява така:
mysqli_close ( $link );
В обектно-ориентираното програмиране, горният израз ще изглежда така:
$link -> close ();
Модификаторите за контрол на достъпа са ключови думи в ООР, с чиято помощ се определя какъв може да е достъпа до свойствата на обектите, методите и т.н. Преди да се включи модификатор за достъп, в РНР всички класове и техните членове са публични по подразбиране (public).
Съществуват още две ключови думи, които могат да бъдат използвани като модификатори за контрол на достъпа. Те са abstract и final. Когато пред дефиницията на метод, принадлежащ към родителски клас, е поставена ключовата дума final, се предотвратява възможността този метод да бъде дефиниран повторно в клас наследник (дъщерен клас). Ако даден клас е дефиниран като final, то той не може да бъде наследяван.
За ключовата дума abstract- може би по-късно.
Член променливите са променливи, декларирани в класа. Тези данни са невидими извън класа и са достъпни чрез член функциите на класа. Тези променливи се наричат атрибути на обекта, след като той бъде създаден.
Член функциите са функции, създадени вътре в класа, които служат за достъп до обектите.
Интерфейсът е спецификация на съвкупност от действия, които даден обект предлага.
Свойството/атрибутът е видима за външния свят характеристика на обект от даден клас.
Методът е действие, което всички обекти от даден клас могат да извършват.
Инстанциране е процесът на създаване на обект от даден клас.
Родителски клас (Parent class) е клас, който е наследен от друг клас. Той се нарича още базов клас или супер клас.
Клас наследник (Child class) е клас, който наследява друг клас. Нарича се още подклас.
Претоварването (Overloading) е вид полиморфизъм, при който един или всички оператори имат различни имплементации, в зависимост от типа на аргументите им. Подобни функции могат да бъдат претоварени с различни имплементации (изпълнения).
Абстракцията на данните е възможността да работим с данни без да се интересуваме от вътрешното им представяне, а само от действията (операциите), които можем да извършваме над тях.
Конструкторът (Constructor) е метод, който се извиква автоматично при създаването на обект от класа. Конструкторите са подходящи за инициализиране на обекта, ако това е необходимо, преди да бъде използван.
Деструкторите (Destructor) са специфичен тип функции, които се извикват автоматично, когато обектът се изтрива.
Принципи на ООР
- Капсулация (encapsulation)- ненужната информация за класовете се скрива. Потребителят вижда само атрибутите на обектите и операциите, присъщи на даден обект. Работещият с обекта трябва да знае само какво може да прави обектът, а не как го прави.
- Наследяване (inheritance)- създават се йерархии от класове, в които се позволява един клас да наследи друг. При наследяване новият клас разполага с всички атрибути и методи, с които разполага родителският клас, плюс нови.
- Полиморфизъм (polymorphism)- позволява на обекти от един и същ тип да могат да извършват едно и също действие по различен начин (един интерфейс за различни типове).
Основни понятия в ООР
Клас (class)
Класовете са категории от обекти, споделящи общи свойства и операции, които могат да се извършват върху тях. Например, класът "Students" представлява множеството от всички студенти. Класът не съществува реално като физическа същност, а по-скоро можем да го разгледаме като описание на неговите обекти.
Въпреки, че класът е подобен на запис в БД, това не са идентични понятия. Важно различие е, че класовете съдържат функции с различни типове данни.
В процедурното програмиране извикването на функцията се осъществява така:
mysqli_close ( $link );
В обектно-ориентираното програмиране, горният израз ще изглежда така:
$link -> close ();
Обекти (objects)
|
---|
Обектът е конкретен елемент от даден клас. Например студентката X, която е V курс, специалност "ТОХ" в МУ, e обект от класа „Students“. |
Модификатори за достъп (Access Control Modifiers )
Модификаторите за контрол на достъпа са ключови думи в ООР, с чиято помощ се определя какъв може да е достъпа до свойствата на обектите, методите и т.н. Преди да се включи модификатор за достъп, в РНР всички класове и техните членове са публични по подразбиране (public).
![]() |
---|
Модификатори за контрол на достъпа |
Съществуват още две ключови думи, които могат да бъдат използвани като модификатори за контрол на достъпа. Те са abstract и final. Когато пред дефиницията на метод, принадлежащ към родителски клас, е поставена ключовата дума final, се предотвратява възможността този метод да бъде дефиниран повторно в клас наследник (дъщерен клас). Ако даден клас е дефиниран като final, то той не може да бъде наследяван.
За ключовата дума abstract- може би по-късно.
Член променливи
Член променливите са променливи, декларирани в класа. Тези данни са невидими извън класа и са достъпни чрез член функциите на класа. Тези променливи се наричат атрибути на обекта, след като той бъде създаден.
Член функции
Член функциите са функции, създадени вътре в класа, които служат за достъп до обектите.
Интерфейс
Интерфейсът е спецификация на съвкупност от действия, които даден обект предлага.
Свойство/атрибут
Свойството/атрибутът е видима за външния свят характеристика на обект от даден клас.
Метод
Методът е действие, което всички обекти от даден клас могат да извършват.
Инстанциране
Инстанциране е процесът на създаване на обект от даден клас.
Родителски клас (Parent class)
Родителски клас (Parent class) е клас, който е наследен от друг клас. Той се нарича още базов клас или супер клас.
Клас наследник (Child class)
Клас наследник (Child class) е клас, който наследява друг клас. Нарича се още подклас.
Претоварване (Overloading)
Претоварването (Overloading) е вид полиморфизъм, при който един или всички оператори имат различни имплементации, в зависимост от типа на аргументите им. Подобни функции могат да бъдат претоварени с различни имплементации (изпълнения).
Абстракция на данните
Абстракцията на данните е възможността да работим с данни без да се интересуваме от вътрешното им представяне, а само от действията (операциите), които можем да извършваме над тях.
Конструктор (Constructor)
Конструкторът (Constructor) е метод, който се извиква автоматично при създаването на обект от класа. Конструкторите са подходящи за инициализиране на обекта, ако това е необходимо, преди да бъде използван.
Деструктор (Destructor)
Деструкторите (Destructor) са специфичен тип функции, които се извикват автоматично, когато обектът се изтрива.
|
Няма коментари:
Публикуване на коментар