Klasy abstrakcyjne a typy generyczne
Założenie: Zdefiniujemy klasę abstrakcyjną jako bazę dla klas generycznych, które będą mogły przechowywać różne typy danych.
Krok po kroku:
- Definicja klasy abstrakcyjnej: Tworzymy klasę abstrakcyjną
DataContainer
, która definiuje metodę abstrakcyjnągetData()
. Ta metoda będzie zwracać dane przechowywane w klasie potomnej. - Klasa generyczna: Tworzymy klasę generyczną
GenericDataContainer
, która dziedziczy po klasie abstrakcyjnejDataContainer
i używa typu generycznegoT
.T
reprezentuje typ danych, które będą przechowywane. - Specjalizacja dla różnych typów: Tworzymy instancje
GenericDataContainer
dla różnych typów danych (np. string i integer). - Wyjaśnienie: Klasa abstrakcyjna wymusza implementację metody
getData()
w klasach potomnych. Typ generycznyT
pozwala na elastyczne użycie klasyGenericDataContainer
z różnymi typami danych bez konieczności tworzenia osobnych klas dla każdego typu.
data = $data;
}
public function getData() {
return $this->data;
}
}
?>
getData() . "
";
echo "Integer: " . $integerContainer->getData();
?>
Ten przykład pokazuje podstawowe wykorzystanie klas abstrakcyjnych i typów generycznych w PHP. Zachęcamy do dalszego zgłębiania tematu i eksperymentowania z różnymi kombinacjami!