Шта је превладавање у ПХП-у?

Премоштавање је објектно оријентисани програмски концепт сличан концепту као што су класа, објект, капсулација, полиморфизам, преоптерећење итд. У ПХП-у. Надјачавање функција и класа врши се када се креира метода у изведеној класи која је иста као и метода у основној или родитељској класи. Обе ове методе имају исти назив и исти број аргумената.

Како превладавање функционира?

  • Прегласавање је концепт где изведена класа основне класе изводи исту радњу као и основна класа. Ово превладавање може бити на методама или предавањима. Ако је метода надјачавајућа, тада се назив параметра методе налази, спецификатор приступа је исти као и код методе надређене класе. Ако у примени методе у поткласи која је изведена из основне класе не постоји промена, тада се каже да је метода поткласа надјачала методу основне класе.
  • Претпоставимо да постоји класа која се зове Персон која има своја својства података и методе. Ово је Особа родитеља или основне класе методом која се зове спеак (). Сада постоји још једна класа која се зове Емплоиее, а која проширује класу Персон. Сада, ова класа Емплоиее има своја својства података и методе и такође има методу исти као родитељска класа нпр.спеак ().
  • Ова метода, говори (), присутна је у основној класи и такође у изведеној класи.
  • Сада се догађа када је класа инстанцирана или када се створи објект, која од метода спеак () ће се извршити, што значи да се говори о основној класи или се говори о изведеној класи, зависи од објекта класе се зове.
  • Другим речима, ако се створи предмет класе Персон, тада се позива метода (() класе Персон и извршава се). Али ако се створи објект класе Емплоиее, тада ће се извршити метода спеак () изведене класе, која надјачава класу спеак () родитељске класе.
  • А ево и како превладавање се дешава са примером
  • У доњем примјеру постоје двије класе, основна класа и изведена класа. Изведена класа проширује основну класу. Ове класе су инициране и створена су два објекта $ обј1 и $ обј2. $ обј1 је објект БасеЦласс-а, а $ обј2 је објект изведене класе. Ови објекти даље зову методе деклариране у својим класама.
  • Овде ћете приметити да основна класа и изведена класа имају исту методу звану АБЦ (). Када извршавате овај програм, приметићете да је метода АБЦ () надјачала методу основне класе АБЦ ().

Пример прегласавања метода

class BaseClass (
public function ABC() (
echo "
In the base class";
)
)
class DerivedClass extends BaseClass (
// override the method ABC() of base class
public function ABC() (
echo "
In the derived class";
)
)
$obj1 = new BaseClass;
$obj1->ABC();
$obj2 = new DerivedClass;
$obj2->ABC();

Излаз:

Превладавање са Модификаторима приступа

Постоје три модификатора приступа.

  1. јавно: Доступно с било којег мјеста у програму.
  2. приватно: Доступно само из родитељске класе.
  3. заштићено: Доступно од основне класе и изведене класе.

Као што знамо да је заштићена метода доступна из основне класе, а изведена класа може се учинити јавном у поткласи, али није приватна јер је приватна доступна само у родитељској класи. Такође ако метода класе има приступни спецификатор као јавни, метода преклапања у изведеној класи не може бити проглашена приватном и заштићеном

Пример прегласавања метода употребом модификатора приступа

class BaseClass (
private function ABC() (
echo "
In the base class Method : ABC";
)
protected function XYZ() (
echo "
In the base class Method : XYZ";
)
)
class DerivedClass extends BaseClass (
// overriding with public for wider accessibility
public function ABC() (
echo "
In the derived class Method : ABC";
)
// overriding method
// with more accessibility
public function XYZ() (
echo "
In the derived class Method : XYZ";
)
)
//$obj1 = new BaseClass;
//$obj1->ABC(); //throws fatal error
//$obj1->XYZ(); //throws fatal error
$obj2 = new DerivedClass;
$obj2->ABC();
$obj2->XYZ();

излаз:

Превладавање са завршном кључном речју

Коначна кључна реч користи се за часове и методе. Методе и класе, а не променљиве могу се надјачати.

Крајњи начин прегласавања

Када је метода или класа проглашена коначном, тада прегласавање на тој методи или класи не може бити изведено, насљеђивање са класом није могуће.

Пример прегласавања метода коришћењем завршне кључне речи

class BaseClass (
// Final method – display
// this cannot be overridden in base class
final function display() (
echo "
In the Base class display function";
)
/// method - ABC
function ABC() (
echo "
In the Base cLass ABC function";
)
)
class DerivedClass extends BaseClass (
function ABC() (
echo "
In the Derived class ABC function";
)
)
$obj1 = new DerivedClass;
$obj1->display();
$obj1->ABC();

Излаз:

Поништавање завршне класе

Класа која је проглашена коначном не може се наслиједити. Финална класа даље има финални метод заједно са другим методама. Али будући да је сама класа проглашена коначном, нема потребе за проглашавањем коначне методе у финалној класи.

Пример прегласавања класе помоћу завршне кључне речи

// class declared as final cannot be overridden
final class BaseClass (
// method - ABC
function ABC() (
echo "
In the BaseClass Method ABC function";
)
// Final method - display
function display() (
echo "
In the BaseClass Method display function";
)
)
// here you cannot extend the base class
// as the base class is declared as final
$obj1 = new BaseClass;
$obj1->display();
$obj1->ABC();

Излаз:

Препоручени чланци

Ово је водич за прегласавање у ПХП-у. Овде смо разговарали о томе шта је превладавање и рад ПХП-а и различитих метода заједно са узорком кода. Такође можете погледати следеће чланке да бисте сазнали више -

  1. Основна питања за ПХП интервју
  2. Предности ПХП-а
  3. Каријера у ПХП-у
  4. ПХП команде
  5. Водич за прегласавање у ЈаваСцрипт-у
  6. Како превладавање функционира у Ц ++?
  7. Превладавање у ООП-има | Потреба за прегласавањем метода
  8. Приступите модификаторима на ПХП-у
  9. Превладавање у Јави

Категорија: