En PHP, certaines règles régissent la surcharge de fonctions, notamment l'évolution des types des paramètres et de retour des méthodes :
Covariance : le type de retour peut être plus spécifique que la méthode parente.
Contravariance : le type d'un paramètre peut être moins spécifique que la méthode parente.
Encore en php 8.3, cette notion n'existe pas pour les propriétés : la propriété descendante doit être exactement du même type que la propriété parente.
Pour plus de détails : https://www.php.net/manual/fr/language.oop5.variance.php