Was ist ein Standardkonstruktor?
Ein Standardkonstruktor ist eine spezielle Methode, die ein Objekt in objektorientierter Programmierung erstellt und initialisiert. Es gibt mehrere Arten von Konstruktoren, aber ein Standardkonstruktor muss neben dem Erstellen und Initialisieren eines Objekts eines von zwei spezifischen Kriterien erfüllen. Es muss entweder keine Parameter haben, in diesem Fall könnte es auch als nullärer Konstruktor bezeichnet werden, oder es muss Standardwerte allen Parametern zuweisen, die sie festlegen können. Einige Computersprachen geben implizit einen Standard -Nully -Konstruktor an, wenn der Programmierer überhaupt keinen Konstruktor angibt. Sobald eine Art von Konstruktor geschrieben ist, wird der Standard -Nully -Konstruktor nicht mehr angegeben und muss bei Bedarf explizit geschrieben werden.
Für Computersprachen, die eine objektorientierte Vererbung ermöglichen, müssen Standardkonstruktoren in Unterklassen genau mit Konstruktoren in Superklassen verbunden sein. Subklassenkonstruktoren müssen immer Superklassenkonstruktoren anrufen, bevor sie etwas Spezifisches für die Unterklasse durchführen. ICHn Einige Sprachen, wie Java®, nennt ein Subklass -Konstruktor implizit einen Superclass -Standard -Nullary -Konstruktor. Wenn ein Nullärkonstruktor der Superklasse nicht vorhanden ist, kann das Subklassenobjekt nicht ordnungsgemäß erstellt werden. Unterklassen können in diesem Fall immer noch entweder den Standardkonstruktor haben, aber ein verfügbarer Superklasse -Konstruktor muss korrekt aufgerufen werden, möglicherweise durch Übergeben von Standardwerten, die für die Unterklasse eindeutig sind.
Die implizite Erzeugung eines Standard -Nully -Konstruktors hat den Vorteil, die Anzahl der Methoden zu verringern, die ein Programmierer angeben und dokumentieren muss, aber auch den Nachteil, möglicherweise Code -Wartung und -verständnis schwieriger zu gestalten. Einige Programmierer betrachten die Auslassung eines Standardkonstruktors als schlechte Praxis, andere nicht. Es gibt nichts, was einem einzelnen Programmierer daran hindertAult Nullary Constructor im Code ist größtenteils eine stilistische Wahl des Programmierers. Wenn der Konstruktor enthalten ist, bestimmen die meisten Gedankenschulen, dass er so kommentiert und dokumentiert werden sollte, wie es jeder andere Konstruktor oder jede andere Methode wäre.
Jeder Standardkonstruktor kann darauf zugreifen, um den Konstruktor öffentlich, geschützt oder privat zu machen. Dies gibt die konstruktorspezifischen Fähigkeiten, die auf der Klasse basieren, in der sie angegeben ist. Ein öffentlicher Standardkonstruktor kann verwendet werden, um ein neues Objekt aus einer anderen Klasse zu erstellen, während ein geschützter Konstruktor nur aus einer eigenen Klasse und allen Unterklassen aufgerufen werden kann. Geschützte Standardkonstruktoren werden häufig in einer Vererbungshierarchie gesehen. Private Konstruktoren werden normalerweise nur in in sich geschlossenen Klassen verwendet, bei denen eine Art Fabrikmethode zur Verfügung steht, um es zu nennen, und nicht im Programmierer.