Maison >développement back-end >C++ >Devriez-vous hériter de la liste?
List<T>
Bien qu'hérité apparemment simple, il y a quelques problèmes à le faire:
en termes de performances List<T>
après beaucoup d'optimisation pour améliorer la vitesse. L'héritage détruira ces optimisations, ce qui pourrait entraîner une baisse des performances. Restrictions de contrôle
List<T>
est une classe fournie par Microsoft, vous ne pouvez pas le contrôler directement. Si la couche inférieure de met en œuvre des changements inattendus, cela peut entraîner de futurs problèmes de compatibilité.
Exposition interne
L'héritage de peut exposer par inadvertance son implémentation interne. Cela dépendra des détails des modifications qui pourraient se produire dans la future version, ce qui entraînera des problèmes de maintenance potentiels.
List<T>
alternative List<T>
Utiliser class
List<T>
Encapsulation
Collection<T>
emballé dans une classe personnalisée peut fournir une séparation logique entre la liste et ses attributs supplémentaires. Cependant, cela augmentera la redondance du code et peut avoir besoin de transmettre des méthodes d'index et de définir les opérations. Concevoir une structure de données personnalisée Collection<T>
List<T>
Facteurs de décision
List<T>
: Avez-vous besoin de contrôler la mise en œuvre et d'assurer la compatibilité future?
La complexité de la fonction requise : La fonction requise est-elle suffisamment compliquée pour personnaliser la structure des données?
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!