applicare Supponendo che abbiamo la classe seguente caso:caso di default di classe metodo
case class CasePerson(firstName: String)
E abbiamo anche definire un oggetto compagno per esso:
object CasePerson {
def apply() = new CasePerson("XYZ")
}
noti che nell'esempio di cui sopra ho definito in modo esplicito un oggetto associato con un metodo apply
, senza definire il metodo di applicare il predefinito:
// This "default" apply has the same argument as the primary constructor of the case class
def apply(firstName : String) = new CasePerson(firstName)
Q: Quindi, dove viene applicato questo "predefinito" di Scala? Ho esplicitamente definito il compagno oggetto qui senza il default applicare e il compilatore sa ancora come eseguire questo:
val casePerson = CasePerson("PQR")
Come funziona?
Le mie scuse per il voto verso il basso, ma non è questo che la questione sta chiedendo. – marios