PHP OOP - Clase abstracte. Exemplu. Exemplu explicat. Proprietatea publică $name. Metoda publică __construct().
Partajeaza in Google Classroom
Memorator: Descriere video Descarcă PDF
Să ne uităm la un exemplu:
Exemplu:
<?php
// Clasa părinte (Parent class)
abstract class Car {
public $name;
public function __construct($name) {
$this->name = $name;
}
abstract public function intro() : string;
}
// Clasele copil(Child classes)
class Audi extends Car {
public function intro() : string {
return "Alege calitatea germană! Sunt un $this->name!";
}
}
class Volvo extends Car {
public function intro() : string {
return "Mândru că sunt suedez! Sunt un $this->name!";
}
}
class Citroen extends Car {
public function intro() : string {
return "Extravaganța franceză! Sunt un a $this->name!";
}
}
// Creați obiecte din clasele copil (child classes)
$audi = new audi("Audi");
echo $audi->intro();
echo "<br>";
$volvo = new volvo("Volvo");
echo $volvo->intro();
echo "<br>";
$citroen = new citroen("Citroen");
echo $citroen->intro();
?>
Exemplu explicat
Clasele Audi, Volvo și Citroen sunt moștenite (inherited) de la clasa Auto. Aceasta înseamnă că clasele Audi, Volvo și Citroen pot utiliza proprietatea publică $name precum și metoda publică __construct() din clasa Car din cauza moștenirii (inheritance).
Dar, intro() este o metodă abstractă (abstract method) care ar trebui definită în toate clasele copil (child classes) și ar trebui să returneze un șir (string).