Questions marquées «method-overloading»


2
Pourquoi PHP ne supporte-t-il pas la surcharge de fonctions?
Je me demande si l’une des principales caractéristiques d’un langage de programmation est d’avoir la capacité de surcharger des fonctions via des arguments. Je pense que c'est essentiel dans le contexte de la programmation orientée objet. Est-ce intentionnellement laissé derrière et non autorisé? Ou la surcharge n'est-elle pas une bonne …

5
Est-il suffisant que les méthodes soient distinguées uniquement par le nom de l'argument (pas le type)?
Suffit-il que les méthodes se distinguent uniquement par le nom de l'argument (pas le type) ou vaut-il mieux le nommer plus explicitement? Par exemple T Find<T>(int id)vs T FindById<T>(int id). Y a-t-il une bonne raison de le nommer plus explicitement (c'est-à-dire d'ajouter ById) ou de ne garder que le nom …

2
Pourquoi les méthodes qui prennent une quantité illimitée de paramètres définissent-elles souvent des surcharges avec moins de paramètres?
Par exemple, la System.IO.Path.Combineméthode dans .NET a les surcharges suivantes: Combine(params String[]) Combine(String, String) Combine(String, String, String) Combine(String, String, String, String) Quel est le point des trois derniers? Le premier couvrirait tous, comme si vous regardiez de près, il utilisait le paramsmot - clé. L'argument de la compatibilité ascendante ne …


4
Faut-il renommer des méthodes surchargées?
Supposons une interface contenant ces méthodes: Car find(long id); List<Car> find(String model); Est-il préférable de les renommer comme ça? Car findById(long id); List findByModel(String model); En effet, tout développeur qui utilise cette API n'aura pas besoin de regarder l'interface pour connaître les arguments possibles des find()méthodes initiales . Ma question …



2
Surcharge ou paramètres facultatifs
Lorsque j'ai une fonction qui pourrait recevoir ou non un certain paramètre, est-il préférable de surcharger la fonction ou d'ajouter des arguments facultatifs? Si chacun a ses hauts et ses bas - quand devrais-je les utiliser?


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.