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,
Drawable
iPrintable
. - 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!