'da özellik yöntemini kullanma Özelliği olan bir özelliği ve bir sınıfı var.Sınıf yapıcısı
trait A {
def a = ""
}
class B(s: String) extends A {
def b = a
}
Ancak böyle yapıcısında Sürekli yöntemi kullanırken,: o
trait A {
def a = ""
}
class B(s: String) extends A {
def this() = this(a)
}
aşağıdaki hata görünür:
error: not found: value a
aşağıdaki gibi özellik metotlarını kullanabilir
Özellikdeki sınıfların oluşturulması için varsayılan parametreleri tanımlamanın bir yolu var mı?
DÜZENLEME: Orada akka-test kiti olup:
class TestKit(_system: ActorSystem) extends { implicit val system = _system }
Ve her test şuna benzer: amacını açıklamak için ben ortak oluşturulmasını oluşturmak istiyorum çünkü
class B(_system: ActorSystem) extends TestKit(_system) with A with ... {
def this() = this(actorSystem)
...
}
A:
trait A {
val conf = ...
def actorSystem = ActorSystem("MySpec", conf)
...
}
: buldum basit çözüm fabrika yöntemi olarak uygulamak ile sınıf B için bir refakatçi nesne tanımlamaktır. Sınıf elemanı, dairesel referanslamaya izin verecek olan yapıcı parametrelerine bağlı olabilir (ve genellikle yapar?). Yani 'a' henüz başlatılmamış. –