Als «final» getaggte Fragen


10
Warum sollte das Schlüsselwort "final" jemals nützlich sein?
Es scheint, als hätte Java die Fähigkeit, Klassen zu deklarieren, die seit Ewigkeiten nicht mehr abgeleitet werden können, und jetzt hat es auch C ++. Warum ist dies jedoch angesichts des Open / Close-Prinzips in SOLID sinnvoll? Für mich finalklingt das Schlüsselwort wie friend- es ist legal, aber wenn Sie …
54 java  c++  solid  final 


2
Namenskonvention: Endgültige Felder (nicht statisch)
Heute hatte ich eine Diskussion mit einem Mitarbeiter über die Benennung von finalFeldern in Java-Klassen. In seiner Sichtweise finalsollten Felder auch als Konstanten betrachtet werden, da sich ihre Werte nach dem Erstellen der Instanz nicht ändern. Dies würde zu der folgenden Namenskonvention für finalFelder führen: public class Foo { private …
23 java  naming  final 


3
Wann sollte ich in C ++ final in der Deklaration virtueller Methoden verwenden?
Ich weiß, dass das finalSchlüsselwort verwendet wird, um zu verhindern, dass virtuelle Methoden von abgeleiteten Klassen überschrieben werden. Ich kann jedoch kein nützliches Beispiel finden, wenn ich wirklich ein finalSchlüsselwort mit virtualMethode verwenden sollte. Darüber hinaus scheint die Verwendung finalmit virtuellen Methoden ein schlechter Geruch zu sein, da es Programmierern …
11 c++  final 

2
Warum einen String (als endgültig) deklarieren und dann verwenden?
Welchen Unterschied macht es in einer typischen Spring-MVC-Validator-Klasse beim Einfügen eines errorCode-Werts in das Errors-Objekt zwischen der Verwendung eines solchen String ( props.somefield.req) errors.rejectValue("elementId", "props.somefield.req"); Verse einer deklarierten statischen endgültigen Zeichenfolge? private static final String SOMFIELD_REQ = "props.somefield.req"; ... errors.rejectValue("elementId", SOMFIELD_REQ); Verbessert es die Leistung auch nur im geringsten? Ich …
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.