PHP OOP - Clase abstracte. PHP - Care sunt clasele și metodele abstracte? Clasa parent. Clasa child. Sintaxă.
Partajeaza in Google Classroom
Memorator: Descriere video Descarcă PDF
PHP - Care sunt clasele și metodele abstracte?
Clasele și metodele abstracte sunt atunci când clasa parent (părinte) are o metodă numită, dar au nevoie de o clasă (e) child (copil) pentru a finaliza sarcinile.
O clasă abstractă (abstract class) este o clasă care conține cel puțin o metodă abstractă (abstract method). O metodă abstractă (abstract method) este o metodă care este declarată, dar care nu este implementată în cod.
O clasă sau o metodă abstractă (abstract method) este definită de cuvântul cheie (keyword) abstract:
Sintaxă
<?php
abstract class ParentClass {
abstract public function someMethod1();
abstract public function someMethod2($name, $color);
abstract public function someMethod3() : string;
}
?>
La moștenirea (inheriting) de la o clasă abstractă (abstract class), metoda clasei copil (child class method) trebuie definită cu același nume și cu același modificator access mai puțin restricționat. Deci, dacă metoda abstractă (abstract method) este definită ca protejată, metoda clasei copil (child class method) trebuie definită fie protejată, fie publică, dar nu privată. De asemenea, tipul și numărul de argumente solicitate trebuie să fie aceleași. Cu toate acestea, clasele pentru copii (child classes) pot avea în plus argumente opționale.
Deci, atunci când o clasă de copii (child class) este moștenită (inherited) de la o clasă abstractă (abstract class), avem următoarele reguli:
- Metoda clasei copil (child class method) trebuie definită cu același nume și redeclarea metodei abstracte părinte (parent abstract method).
- Metoda clasei pentru copii (child class method) trebuie definită cu același sau cu un mai puțin restricționat modificator access.
- Numărul de argumente solicitate trebuie să fie același. Cu toate acestea, clasa pentru copii (child class) poate avea în plus argumente opționale.