Hallo,
was sind eigentlich die Vorteile von Scalas Companion Object gegenüber Javas static Deklaration?
Falk
Hallo,
was sind eigentlich die Vorteile von Scalas Companion Object gegenüber Javas static Deklaration?
Falk
Beiträge: | 23 |
Registriert am: | 20.09.2016 |
Für mich ist der größte Vorteil, dass Companion-Objekte einen Typ haben. Sie können Traits implementieren oder andere Klassen erweitern, sie können als Argument an eine Methode oder einen Konstruktor übergeben werden.
Statische Methoden stehen etwas "außerhalb" des OO-Paradigmas. Viele Anfänger haben Probleme damit, weil die üblichen Vererbungsregeln nicht gelten, weil man nicht (z.B. über ein Interface) sicherstellen kann, dass eine statische Methode existieren muss u.s.w. Statische Methoden selbst können zwar meist gut getestet werden, aber nicht der Code, der sie verwendet - der ist eben damit "hart verdrahtet". Das kann auch mit Companion-Objekten passieren, ist dort aber wesentlich leichter zu korrigieren, wenn es zum Problem wird.
Beiträge: | 5 |
Registriert am: | 22.09.2016 |
Die sind automatisch Singletons, man braucht sich nicht mehr mit der Thematik befassen
Beiträge: | 1 |
Registriert am: | 29.10.2016 |
Einfach ein eigenes Xobor Forum erstellen |