Maison  >  Article  >  développement back-end  >  Pourquoi les constructeurs paramétrés en C#, C et Java font-ils disparaître le constructeur sans paramètre ?

Pourquoi les constructeurs paramétrés en C#, C et Java font-ils disparaître le constructeur sans paramètre ?

DDD
DDDoriginal
2024-10-27 04:19:29303parcourir

Why do parameterized constructors in C#, C  , and Java make the parameterless constructor disappear?

Pourquoi le constructeur sans paramètre disparaît-il avec les constructeurs paramétrés ?

En C#, C et Java, définir un constructeur avec des paramètres conduit à absence d'un constructeur sans paramètre par défaut. Bien que ce comportement ait été largement accepté, la raison qui le sous-tend a récemment fait l'objet d'un examen minutieux.

L'absence du constructeur par défaut n'est pas une limitation technique, car les compilateurs ont la capacité de générer des constructeurs. Cependant, ce comportement est motivé par des considérations pratiques :

  • Éviter l'intention déduite : Lorsqu'un constructeur avec des paramètres est défini, cela implique que la classe nécessite une logique d'initialisation spécifique. Fournir un constructeur sans paramètre par défaut dans ce scénario permettrait aux utilisateurs de contourner ces étapes nécessaires, conduisant potentiellement à des erreurs de code.
  • Protéger les intentions explicites : En exigeant la déclaration explicite d'un constructeur sans paramètre, les compilateurs appliquent l'intention du programmeur. Si un constructeur par défaut est vraiment souhaité, le programmeur doit le définir explicitement pour clarifier son intention.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn