Gibt es einen Grund, eine init()
Methode für einen Typ zu deklarieren ?
Ich frage nicht, ob wir einen Konstruktor vorzieheninit()
sollen oder wieinit()
wir es vermeiden sollen, dies zu deklarieren .
Ich frage , ob es irgendwelche Gründe eine hinter erklärt init()
Methode ( zu sehen , wie häufig es ist) oder wenn es ein Codegeruch und sollte vermieden werden.
Die init()
Redewendung ist weit verbreitet, aber ich habe noch keinen wirklichen Nutzen zu sehen.
Ich spreche von Typen, die die Initialisierung über eine Methode fördern:
class Demo {
public void init() {
//...
}
}
Wann wird dies jemals im Produktionscode von Nutzen sein?
Ich glaube, es könnte ein Codegeruch sein, da der Konstruktor das Objekt nicht vollständig initialisiert, was zu einem teilweise erstellten Objekt führt. Das Objekt sollte nicht existieren, wenn sein Status nicht gesetzt ist.
Dies lässt mich glauben, dass dies Teil einer Technik ist, die zur Beschleunigung der Produktion im Sinne von Unternehmensanwendungen eingesetzt wird. Es ist der einzig logische Grund, warum ich mir eine solche Redewendung vorstellen kann. Ich bin mir nur nicht sicher, wie es vorteilhaft wäre, wenn dies der Fall wäre.
init()
Befindet sich die Methode in einer Klasse, die zu einer Vererbungshierarchie gehört? Ruft die Basisklasse die abgeleitete Klasse auf oder umgekehrt?) In diesem Fall kann die Basisklasse beispielsweise einen "Post-Konstruktor" ausführen "der nur ausgeführt werden kann, nachdem die am meisten abgeleitete Klasse die Konstruktion beendet hat. Dies ist ein Beispiel für eine mehrphasige Initialisierung.