La substitution est une manifestation du polymorphisme entre la classe parent et la sous-classe, et la surcharge est une manifestation du polymorphisme dans une classe. Une méthode surchargée peut modifier le type de valeur de retour. En d’autres termes, les types de valeurs de retour des surcharges peuvent être identiques ou différents.
Surcharge
a. La surcharge de méthode est un moyen pour une classe de traiter différents types de données de manière unifiée. Plusieurs fonctions portant le même nom existent en même temps, avec un nombre/type de paramètres différent. La surcharge est une manifestation du polymorphisme dans une classe.
b. La surcharge de méthodes en Java signifie que vous pouvez créer plusieurs méthodes dans une classe. Elles ont le même nom mais des paramètres et des définitions différents. Lorsque vous appelez des méthodes, vous décidez quelle méthode utiliser en fonction du nombre et du type de paramètres qui leur sont transmis. Il s'agit du polymorphisme.
c.En cas de surcharge, le nom de la méthode doit être le même, mais le type et le numéro du paramètre sont différents, et le type de valeur de retour peut être identique ou différent. Le type de retour ne peut pas être utilisé comme critère pour distinguer les fonctions surchargées.
2. Remplacement de
a. Polymorphisme entre la classe parent et la sous-classe, redéfinissant les fonctions de la classe parent. Si une méthode définie dans une sous-classe a le même nom et les mêmes paramètres que sa classe parent, on dit que la méthode est prioritaire. En Java, les sous-classes peuvent hériter des méthodes de leur classe parent sans réécrire les mêmes méthodes. Mais parfois, la sous-classe ne souhaite pas hériter des méthodes de la classe parent inchangées, mais souhaite apporter certaines modifications, ce qui nécessite une réécriture des méthodes. Le remplacement de méthode est également appelé remplacement de méthode.
b. Si une méthode de la sous-classe a le même nom de méthode, le même type de retour et la même liste de paramètres qu'une méthode de la classe parent, la nouvelle méthode écrasera la méthode d'origine. **Si vous avez besoin de la méthode originale dans la classe parent, vous pouvez utiliser le mot-clé super, qui fait référence à la classe parent de la classe actuelle**.
c. Les droits de modification d'accès aux fonctions de la sous-classe ne peuvent pas être inférieurs à ceux de la classe parent
Si le nom, le type de retour, le type de paramètre et le numéro de la méthode membre de la classe parent sont exactement le même, seul son code interne est différent. En Java, cette méthode de réécriture est appelée refactoring de méthode membre
Dans la sous-classe, vous pouvez réajuster les autorisations dans la méthode de la classe parent (de avare à généreuse) , étendez ou réajustez les autorisations de la classe parent Fonctions, etc., rendant ainsi souvent la sous-catégorie verte en bleu, mais meilleure que le bleu. Au cours du processus de développement, les développeurs de programmes doivent faire bon usage de ces fonctionnalités des sous-classes. Mais d’un autre point de vue, il est également nécessaire d’imposer certaines restrictions sur les autorisations des sous-classes. Si nécessaire, les autorisations doivent être contrôlées sur certaines méthodes de la classe parent pour éviter qu'elles ne soient utilisées de manière abusive par les sous-classes.
Pour plus d'articles liés à la surcharge et à la réécriture dans les objets PHP, veuillez faire attention au site Web PHP chinois !