स्काला प्रोग्रामर पता होना चाहिए था कि लेखन की इस तरह:प्रत्येक "सेटर" विधि को स्कैला में "गेटटर" विधि की आवश्यकता होती है?
class Person{
var id = 0
}
var p = new Person
p.id
p.id = 2
प्रभाव में
class Person{
private var _id = 0
def id = _id
def id_=(i: Int) = _id = i
}
val p = new Person
p.id // be equal to invoke id method of class Person
p.id = 2 // be equal to p.id_=(2)
के बराबर है। लेकिन तुम गेटर विधि def id = _id
टिप्पणी करता है, तो, p.id = 2
एक संकलन त्रुटि का कारण होगा, कह
error: value key is not a member of Person
किसी को समझा सकते हैं क्यों?
'व्यक्ति' की आपकी दो परिभाषा बिल्कुल समान नहीं हैं, क्योंकि दूसरा व्यक्ति '_id' के लिए निजी गेटर और सेटर विधियां भी उत्पन्न करेगा। –