Polimorfizm z klasami abstrakcyjnymi
Założenie: Pokażemy, jak wykorzystać polimorfizm z klasami abstrakcyjnymi w PHP, aby stworzyć elastyczny i rozszerzalny kod.
Krok po kroku:
- Definicja klasy abstrakcyjnej: Tworzymy klasę abstrakcyjną
Figura
z metodą abstrakcyjnąobliczPole()
. Metody abstrakcyjne nie posiadają implementacji i muszą być zaimplementowane w klasach potomnych. - Klasy potomne: Tworzymy klasy
Kwadrat
iKolo
dziedziczące po klasieFigura
. Każda z nich implementuje metodęobliczPole()
w sposób specyficzny dla swojego kształtu. - Użycie polimorfizmu: Tworzymy tablicę obiektów różnych klas (
Kwadrat
iKolo
). Możemy iterować po tej tablicy i wywoływać metodęobliczPole()
dla każdego obiektu, bez konieczności sprawdzania typu obiektu. PHP automatycznie wywoła odpowiednią implementację metody dla każdego obiektu.
bok = $bok;
}
public function obliczPole() {
return $this->bok * $this->bok;
}
}
class Kolo extends Figura {
private $promien;
public function __construct($promien) {
$this->promien = $promien;
}
public function obliczPole() {
return pi() * $this->promien * $this->promien;
}
}
?>
obliczPole() . "
";
}
?>
Ten przykład pokazuje podstawy polimorfizmu z klasami abstrakcyjnymi. Pozwala on na pisanie bardziej elastycznego i łatwego w utrzymaniu kodu. Zachęcamy do dalszego zgłębiania tematu programowania obiektowego w PHP!