Cet exemple n'instancie pas d'abord la classe parent. Ensuite, lorsque la sous-classe ne remplace pas la méthode de la classe parent, $cat1->cry() appelle la classe parent. Qu'est-ce que cela signifie ? echo 'appel d'animal..'; Ce que je comprends, c’est que si c’est le cas, le dire ne veut-il pas dire que vous ne l’avez pas dit ?
Votre classe cat hérite de la classe animal. Lorsqu'il n'y a pas de méthode cry dans la classe cat, votre $cat1->cry() appelle la méthode cry de la classe parent et génère le cri de l'animal. . Lorsque votre classe cat a une méthode cry, elle est appelée remplacement de classe parent. Ensuite, $cat1->cry() donne la priorité à l'appel de la méthode cry de la sous-classe pour afficher abc
.La sous-classe ne remplace pas la classe parent, c'est-à-dire que la sous-classe hérite simplement de la classe parent sans apporter de modifications. Par exemple, la classe parent $i=1 la sous-classe ne définit pas $i, donc le $i du parent. la classe est appelée dans la sous-classe Still 1, si la sous-classe couvre la classe parent, par exemple, $i=2 est défini dans la sous-classe alors $i sera finalement égal à 2 ;