Klasy abstrakcyjne a typy unii
Klasy abstrakcyjne a typy unii
Założenie: Pokażemy, jak wykorzystać typy unii w definicjach klas abstrakcyjnych w PHP, aby stworzyć elastyczną klasę bazową, która może operować na danych różnych typów.
Krok po kroku:
- Definicja klasy abstrakcyjnej z typem unii: Zdefiniujmy klasę abstrakcyjną
DataContainer
, która będzie przechowywać dane o różnych typach. Użyjemy typu unii, aby określić, że zmienna$data
może być albo liczbą całkowitą, albo ciągiem znaków. - Implementacja konkretnej klasy: Stwórzmy klasę
IntegerProcessor
dziedziczącą poDataContainer
i implementującą metodęprocessData()
dla danych całkowitoliczbowych. - Implementacja drugiej konkretnej klasy: Stwórzmy klasę
StringProcessor
dziedziczącą poDataContainer
i implementującą metodęprocessData()
dla danych tekstowych. - Użycie klas: Utwórzmy obiekty obu klas i wywołajmy metodę
processData()
.
data . "\n";
}
}
?>
data . "\n";
}
}
?>
processData();
$stringProcessor->processData();
?>
Ten przykład pokazuje, jak typy unii pozwalają na tworzenie bardziej elastycznych klas abstrakcyjnych w PHP. Można w ten sposób zarządzać różnymi typami danych w sposób bezpieczny i czytelny.
Zachęcamy do dalszego zgłębiania tematu klas abstrakcyjnych i typów unii w PHP!