कक्षाओं के भीतर चर प्राप्त करना और स्थापित करना या तो उनकी सामग्री को पुनः प्राप्त करना ("प्राप्त करना") या परिवर्तन ("सेटिंग") को संदर्भित करता है।
membersएक वर्ग के एक चर पर विचार करें family। स्वाभाविक रूप से, इस चर को एक पूर्णांक बनाने की आवश्यकता होगी, क्योंकि एक परिवार कभी दो बिंदु कुछ लोगों से मिलकर नहीं बना सकता है।
तो आप शायद membersचर को इस तरह परिभाषित करके आगे बढ़ेंगे :
class family {
var members:Int
}
यह, हालांकि, इस वर्ग का उपयोग करने वाले लोगों को परिवार के सदस्यों की संख्या 0 या 1. जैसी किसी चीज़ पर सेट करने की संभावना देगा और चूंकि 1 या 0 के परिवार जैसी कोई चीज नहीं है, यह काफी दुर्भाग्यपूर्ण है।
यह वह जगह है जहां गेटर्स और सेटर आते हैं। इस तरह से आप अपने लिए तय कर सकते हैं कि चर को कैसे बदला जा सकता है और वे किन मूल्यों को प्राप्त कर सकते हैं, साथ ही यह भी तय कर सकते हैं कि वे किस सामग्री को वापस करते हैं।
हमारे परिवार के वर्ग में लौटते हुए, आइए सुनिश्चित करें कि कोई membersभी 2 से कम मूल्य का मूल्य निर्धारित नहीं कर सकता है :
class family {
var _members:Int = 2
var members:Int {
get {
return _members
}
set (newVal) {
if newVal >= 2 {
_members = newVal
} else {
println('error: cannot have family with less than 2 members')
}
}
}
}
अब हम membersपहले की तरह चर का उपयोग कर सकते हैं instanceOfFamily.members, और सेटर फ़ंक्शन के लिए धन्यवाद, हम इसे पहले से मानकर सेट कर सकते हैं, उदाहरण के लिए instanceOfFamily.members = 3:। हालाँकि, जो बदलाव आया है, वह तथ्य यह है कि हम इस चर को 2 से छोटे किसी भी चीज़ में सेट नहीं कर सकते हैं।
_membersचर के परिचय पर ध्यान दें , जो कि membersसेटर फ़ंक्शन के माध्यम से निर्धारित मान को संग्रहीत करने के लिए वास्तविक चर है । मूल membersअब एक कम्प्यूटेड संपत्ति बन गया है, जिसका अर्थ है कि यह केवल हमारे वास्तविक चर से निपटने के लिए एक इंटरफ़ेस के रूप में कार्य करता है।