Örnek sınıflar dolaylı durumda sınıfı birincil yapıcı ile aynı bağımsız değişkenler bir apply()
bir tamamlayıcı bir nesne ile eşlik eder. olduğu
: Ayrıca açıkça bir refakatçi nesnesi tanımlarsanız
case class CasePerson(firstName: String)
object CasePerson{
def apply(firstName: String) = new CasePerson(firstName)
}
eşlik edecek Şimdi, örtülü olarak tanımlanan birine ekleme olarak düşünebiliriz.
object CasePerson{
def apply() = new CasePerson("XYZ") // the one manually added
def apply(firstName: String) = new CasePerson(firstName) // this one is automatically added
}
: bir kombine arkadaşı nesnesi yaratıyor sanki
object CasePerson{
def apply() = new CasePerson("XYZ")
}
Bu ifade, bunu düşünebilirsiniz:
Örneğin, örnekteki Tamamlayıcı nesnesine bir yeni apply
eklendi
Şimdi, birincil kurucu ile aynı argümanlara sahip olan apply
kendi sürümünüzü eklemeye karar verirseniz, bu durum vaka sınıfının varsayılan davranışını gölgeleyecektir. Aşağı oy için
List(CasePerson("hi"), CasePerson("hi"))
Benim özür, ancak bu soru soruyor ne değildir: Eğer
CasePerson("hi")
ararsanızŞimdi, bunun yerine üretecektir. – marios