एक्सेस Modifiers
Access modifiers तय करते हैं कि कौन किसी चीज़ का उपयोग कर सकता है, जैसे अलग-अलग locks वाले कमरे। चीज़ें सबके लिए खुली होती हैं जब तक आप उन्हें private या protected न करें।
In this page:
Syntax
class ClassName {
private var hidden: Type = value
protected var inherited: Type = value
var visible: Type = value
}
Access Modifiers
Scala members default रूप से public होते हैं जब तक private (सिर्फ class के अंदर दिखाई देने वाला) या protected (class और उसकी subclasses के अंदर दिखाई देने वाला) से चिह्नित न हों।
private[this] access को और भी सीमित कर देता है, सिर्फ specific instance तक, पूरी class तक नहीं। आंतरिक state को private रखना और उसे public methods के ज़रिए उजागर करना standard OOP practice है, जैसे ज़्यादातर दूसरी languages में।
Note:
Scala members default रूप से public होते हैं -- कुछ languages के विपरीत जहां आपको explicitly public visibility चुननी पड़ती है।
उदाहरण: Access Modifiers
class Account(startingBalance: Double) {
private var balance = startingBalance
def deposit(amount: Double): Unit = {
balance += amount
}
def getBalance(): Double = balance
}
object Main extends App {
val acc = new Account(100)
acc.deposit(50)
println(acc.getBalance())
}
Login to try C/C++/Java/PHP code in the editor
Related Topics
{# common_mistakes/chapter_summary/browser_support: on Hindi pages the
view already swaps in the hi_ translation fields (or blanks these
out if untranslated), so this renders correctly for both languages
without a lang_code check here. #}
आम गलतियां
- class के बाहर से किसी
privatemember को access करने की कोशिश करना, जैसेacct.balance, जो compile error देता है। - यह मान लेना कि
privatemembers को किसी companion object से छुपाता है, जबकि एक companion object class के private members को access कर सकता है। - modifiers छोड़कर सब कुछ
publicबना देना, जिससे वे fields उजागर हो जाते हैं जिन्हें सिर्फdepositजैसे methods से बदलना चाहिए।
🔒
Chapter Quiz — Complete all 7 topics to unlock
0/7 topics done
Complete these topics first: