Kiedy używać interfejsów?
Założenie: Zrozumieć, kiedy i dlaczego warto używać interfejsów w programowaniu obiektowym w PHP.
Krok po kroku:
- Definicja interfejsu: Interfejs definiuje kontrakt, czyli zestaw metod, które muszą być zaimplementowane przez klasy, które go implementują. Nie zawiera implementacji tych metod.
- Implementacja interfejsu: Klasa implementuje interfejs za pomocą słowa kluczowego
implements. - Użycie interfejsu: Możemy użyć interfejsu jako typu zmiennej, co pozwala na elastyczne korzystanie z różnych klas, które implementują ten sam interfejs.
interface Drawable {
public function draw();
}
Ten kod definiuje interfejs Drawable z jedną metodą draw(). Każda klasa implementująca ten interfejs musi zaimplementować metodę draw().
class Circle implements Drawable {
public function draw() {
echo "Rysuję koło
";
}
}
class Square implements Drawable {
public function draw() {
echo "Rysuję kwadrat
";
}
}
Klasy Circle i Square implementują interfejs Drawable i definiują własną implementację metody draw().
$shapes = [new Circle(), new Square()];
foreach ($shapes as $shape) {
if ($shape instanceof Drawable) {
$shape->draw();
}
}
Ten kod iteruje po tablicy kształtów i wywołuje metodę draw() dla każdego obiektu, który implementuje interfejs Drawable. To pokazuje elastyczność i polimorfizm.
Ten przykład pokazuje podstawowe zastosowanie interfejsów w PHP. Zachęcamy do dalszego zgłębiania tematu, aby w pełni wykorzystać możliwości programowania obiektowego!