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!