2017-09-27 1 views
0

Ich habe 2 Fall-Klassen mit entsprechenden Begleiter Objekte in 2 verschiedenen Dateien. Ich muss eine dieser Klassen erweitern und die andere Klasse in derselben Datei haben. Ist das in Scala möglich? Irgendwelche Hinweise darauf, wie man das macht?Erweitern einer Fall-Klasse mit Companion-Objekt in Scala

Im Folgenden sind die bestehenden Klassen A & B in Dateien A.scala und B.scala

object A { 
    def apply(){} 
} 
case class A(a: Int, b: Int) {} 

object B { 
    def apply() {} 
} 
case class B(x: Int, y: Int) {} 

Ich brauche eine dritte Klasse C, die A erstreckt und auch Klasse B in einer dritten Datei C.scala.

Antwort

1

1) Sie sollten nicht von einem Fall-Klasse erben

2) Es ist möglich, zwei Klassen mit dem gleichen Namen zu erklären, wenn sie die vollständigen Namen (einschließlich der Paketnamen) unterschiedlich sind. Die Datei C.scala muss also zu einem anderen Paket gehören.

+0

Ich hätte klarstellen sollen, ich würde B.scala Datei löschen und den Inhalt nach C.scala verschieben. In welchem ​​Fall kann es also im selben Paket sein? – phaedrusH

+0

Ja, Sie können // Symbole verwenden, um die minimale Kommentarlänge zu erreichen – simpadjo

Verwandte Themen