मिलान निम्नलिखित कोड का दावा है कि जैक निर्माण में कार्यरत है, लेकिन जेन अभी तक किसी न किसी अर्थव्यवस्था का एक और शिकार है:स्काला: मामले कक्षाएं
abstract class Person(name: String) {
case class Student(name: String, major: String) extends Person(name)
override def toString(): String = this match {
case Student(name, major) => name + " studies " + major
case Worker(name, occupation) => name + " does " + occupation
case _ => name + " is unemployed"
}
}
case class Worker(name: String, job: String) extends Person(name)
object Narrator extends Person("Jake") {
def main(args: Array[String]) {
var friend: Person = new Student("Jane", "biology")
println("My friend " + friend) //outputs "Jane is unemployed"
friend = new Worker("Jack", "construction")
println("My friend " + friend) //outputs "Jack does construction"
}
}
क्यों मैच एक छात्र के रूप में जेन पहचान करने में विफल रहा है?
क्या आप "एक विशेष व्यक्ति उदाहरण" से क्या मतलब समझ सकते हैं? – divider
किसी को भी पता है कि यह व्यवहार कहीं भी दस्तावेज है? –
@ डिवाइडर: 'दोस्त' एक 'कथनकर्ता' है, लेकिन 'दोस्त' पर्सन नहीं है। –