Heim > Backend-Entwicklung > C++ > Hauptteil

Warum lassen parametrisierte Konstruktoren in C#, C und Java den parameterlosen Konstruktor verschwinden?

DDD
Freigeben: 2024-10-27 04:19:29
Original
228 Leute haben es durchsucht

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

Warum verschwindet der parameterlose Konstruktor bei parametrisierten Konstruktoren?

In C#, C und Java führt die Definition eines Konstruktors mit Parametern zum Fehlen eines standardmäßigen parameterlosen Konstruktors. Obwohl dieses Verhalten weithin akzeptiert ist, wurde der Grund dafür kürzlich untersucht.

Das Fehlen des Standardkonstruktors stellt keine technische Einschränkung dar, da Compiler die Möglichkeit haben, Konstruktoren zu generieren. Dieses Verhalten wird jedoch durch praktische Überlegungen bestimmt:

  • Vermeidung abgeleiteter Absichten: Wenn ein Konstruktor mit Parametern definiert wird, impliziert dies, dass die Klasse eine bestimmte Initialisierungslogik erfordert. Die Bereitstellung eines standardmäßigen Konstruktors ohne Parameter würde es Benutzern in diesem Szenario ermöglichen, diese notwendigen Schritte zu umgehen, was möglicherweise zu Codefehlern führen könnte.
  • Schutz expliziter Absichten: Durch die Anforderung einer expliziten Deklaration eines Konstruktors ohne Parameter erzwingen Compiler dies die Absicht des Programmierers. Wenn ein Standardkonstruktor wirklich gewünscht ist, muss der Programmierer ihn explizit definieren, um seine Absicht zu verdeutlichen.

Das obige ist der detaillierte Inhalt vonWarum lassen parametrisierte Konstruktoren in C#, C und Java den parameterlosen Konstruktor verschwinden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!