Interfejsy a typy przecięcia
Założenie: Pokażemy, jak wykorzystać typy przecięcia w interfejsach PHP, aby klasa implementująca musiała spełniać jednocześnie kilka warunków.
Krok po kroku:
- Definicja dwóch interfejsów: Zdefiniujmy dwa proste interfejsy,
DrawableiPrintable. - Definicja interfejsu z typem przecięcia: Teraz zdefiniujmy interfejs
DrawableAndPrintable, który będzie używał typu przecięcia, aby wymagać implementacji obu poprzednich interfejsów. - Implementacja klasy: Stwórzmy klasę
MyClass, która implementujeDrawableAndPrintable. - Użycie klasy: Na koniec, użyjmy stworzonej klasy.
interface Drawable {
public function draw(): string;
}
interface Printable {
public function print(): string;
}
Te interfejsy definiują metody draw() i print(), które będą musiały być zaimplementowane przez klasy, które je implementują.
interface DrawableAndPrintable extends Drawable, Printable {
//Brak dodatkowych metod
}
Klasa implementująca DrawableAndPrintable musi zaimplementować zarówno draw(), jak i print().
class MyClass implements DrawableAndPrintable {
public function draw(): string {
return "Rysunek";
}
public function print(): string {
return "Wydruk";
}
}
Klasa MyClass musi zaimplementować metody draw() i print(), aby spełnić wymagania interfejsu DrawableAndPrintable.
$myObject = new MyClass();
echo $myObject->draw() . "
"; // Wyświetli "Rysunek"
echo $myObject->print(); // Wyświetli "Wydruk"
Ten kod pokazuje, jak używać klasy MyClass, która poprawnie implementuje oba interfejsy.
Ten przykład pokazuje podstawowe użycie typów przecięcia w interfejsach PHP. Zachęcamy do dalszego zgłębiania tematu i eksperymentowania z bardziej zaawansowanymi przykładami!