Klasy abstrakcyjne a typy sparametryzowane
Założenie: Pokażemy, jak wykorzystać klasy abstrakcyjne z typami sparametryzowanymi do tworzenia elastycznych baz dla klas operujących na różnych typach danych.
Krok po kroku:
- Definicja abstrakcyjnej klasy bazowej: Stworzymy klasę abstrakcyjną
DataContainer
z typem sparametryzowanymT
. Ta klasa będzie zawierać metodę abstrakcyjnągetData()
, która zwróci wartość typuT
. - Implementacja konkretnych klas: Zdefiniujemy dwie klasy dziedziczące po
DataContainer
:IntegerContainer
dla liczb całkowitych iStringContainer
dla stringów. Każda z nich zaimplementuje metodęgetData()
. - Użycie klas: Utworzymy instancje obu klas i wyświetlimy zwrócone dane.
data = $data;
}
abstract public function getData(): T;
}
?>
data;
}
}
class StringContainer extends DataContainer {
public function getData(): string {
return $this->data;
}
}
?>
getData() . "
";
echo "String: " . $stringContainer->getData();
?>
Ten przykład pokazuje podstawowe zastosowanie klas abstrakcyjnych z typami sparametryzowanymi w PHP. Zachęcamy do dalszego zgłębiania tematu i eksperymentowania z różnymi typami danych!