Ich schaue mir Akka verwandten typsicheren Aktivator Code an und das folgende Konstrukt faszinierte mich:
Begleitobjekt:
%Vor%Companion-Klasse: it importiert die Companion-Objektmethoden:
%Vor%Also ... das ist ein bisschen überraschend. Warum gibt es keine "spezielle Beziehung" zwischen der Companion-Klasse und dem Objekt, die es der Klasse ermöglicht, die Objektmethoden automatisch zu "sehen"?
Update Ich war ein wenig skeptisch und ging daher den "import MarkerActor._" auskommentieren. Dies führte zu "Symbol nicht gefunden: Stop" -Fehler in der Companion-Klasse. Also ... der Import ist wirklich erforderlich.
Vor einigen Jahren wurde darüber diskutiert, ob implizit alle Companion-Objekt-Member in ihre übergeordneten Klassen importiert werden sollen. Die damals getroffene Entscheidung, die heute noch Sinn macht, sollte einen expliziten Import erfordern, da es einfacher ist, einen zusätzlichen Import hinzuzufügen, als einen unerwünschten zu entfernen. Hier ist die vollständige Diskussion .
Tags und Links scala companion-object