Constructors और init
Objects बनाएँ और प्रारंभ करें।
Constructors और init, CoddyKit पर Android Academy का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Android Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Android Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
कंस्ट्रक्टर क्या होता है
कंस्ट्रक्टर वह विशेष कोड होता है जो वस्तु बनाते समय चलता है। यह वस्तु की शुरुआती वैल्यू सेट करता है।
Kotlin में मुख्य कंस्ट्रक्टर वर्ग के नाम के ठीक पास लिखा जाता है।
प्राथमिक कंस्ट्रक्टर
प्राथमिक कंस्ट्रक्टर वर्ग के नाम के बाद कोष्ठकों में लिखा जाता है। वस्तु बनाते समय आप वैल्यू पास करते हैं।
यहाँ Dog बनाते समय नाम देना आवश्यक है।
class Dog(name: String) {
val dogName = name
}
fun main() {
val d = Dog("Rex")
println(d.dogName)
}कंस्ट्रक्टर में प्रॉपर्टीज़
कंस्ट्रक्टर पैरामीटर के सामने val या var जोड़ने से वह अपने-आप एक प्रॉपर्टी बन जाता है।
Kotlin में यह सबसे सामान्य और संक्षिप्त शैली है।
class Dog(val name: String, var age: Int)
fun main() {
val d = Dog("Rex", 3)
println(d.name + " is " + d.age)
}कंस्ट्रक्टर की डिफ़ॉल्ट वैल्यू
कंस्ट्रक्टर पैरामीटर में भी डिफ़ॉल्ट वैल्यू हो सकती हैं। इसके बाद कॉल करने वाला उन्हें छोड़ सकता है।
यहाँ, यदि age उपलब्ध न कराया जाए, तो उसकी डिफ़ॉल्ट वैल्यू 0 होगी।
class Dog(val name: String, var age: Int = 0)
fun main() {
val d = Dog("Max")
println(d.age)
}init ब्लॉक
init ब्लॉक प्राथमिक कंस्ट्रक्टर के हिस्से के रूप में चलता है। इसका उपयोग ऐसे सेटअप लॉजिक के लिए करें जो एक ही प्रॉपर्टी लाइन में फिट न हो।
यह कंस्ट्रक्टर पैरामीटर को पढ़ सकता है।
class Dog(val name: String) {
init {
println("Created dog: " + name)
}
}
fun main() {
Dog("Rex")
}init में वैलिडेशन
init का एक सामान्य उपयोग इनपुट की जाँच करना है। यहाँ require की मदद से ऋणात्मक age से बचाव किया गया है।
जाँच विफल होने पर वस्तु बनाई ही नहीं जाती।
class Person(val age: Int) {
init {
require(age >= 0) { "Age cannot be negative" }
}
}
fun main() {
val p = Person(25)
println(p.age)
}निष्पादन का क्रम
प्रॉपर्टी इनिशियलाइज़र और init ब्लॉक, वर्ग में जिस क्रम में लिखे गए हैं उसी क्रम में ऊपर से नीचे चलते हैं।
जब कोई लाइन अपने ऊपर सेट की गई वैल्यू पर निर्भर करती है, तब यह महत्वपूर्ण होता है।
class Demo {
val a = 1
init { println("a is " + a) }
val b = a + 1
init { println("b is " + b) }
}
fun main() {
Demo()
}गणना की गई प्रॉपर्टीज़
आप वर्ग के बॉडी के अंदर कंस्ट्रक्टर की वैल्यू से कोई प्रॉपर्टी की गणना कर सकते हैं।
यहाँ area, width और height से निकाली गई है।
class Rect(val width: Int, val height: Int) {
val area = width * height
}
fun main() {
println(Rect(3, 4).area)
}द्वितीयक कंस्ट्रक्टर
किसी वर्ग में constructor कीवर्ड का उपयोग करके द्वितीयक कंस्ट्रक्टर भी हो सकते हैं। उन्हें this(...) के माध्यम से प्राथमिक कंस्ट्रक्टर को कॉल करना आवश्यक है।
इनका उपयोग कम होता है, क्योंकि डिफ़ॉल्ट वैल्यू आम तौर पर पर्याप्त होती हैं।
class Dog(val name: String) {
constructor() : this("Unknown")
}
fun main() {
println(Dog().name)
}नई वस्तु का उपयोग
कंस्ट्रक्टर और init चल जाने के बाद वस्तु उपयोग के लिए तैयार होती है। आप तुरंत उसकी प्रॉपर्टीज़ पढ़ सकते हैं और उसकी विधियों को कॉल कर सकते हैं।
यहाँ कंस्ट्रक्टर एक बैलेंस सेट करता है और एक विधि उसमें से राशि खर्च करती है।
class Account(var balance: Int) {
fun spend(amount: Int) {
balance = balance - amount
}
}
fun main() {
val acc = Account(100)
acc.spend(30)
println(acc.balance)
}कंस्ट्रक्टर आधार तैयार करते हैं
कंस्ट्रक्टर और init ब्लॉक यह सुनिश्चित करते हैं कि हर वस्तु मान्य स्थिति से शुरू हो।
- प्राथमिक कंस्ट्रक्टर: वैल्यू घोषित और प्राप्त करें।
init: सेटअप और वैलिडेशन चलाएँ।
इससे आपके ऐप में अधूरी बनी हुई वस्तुएँ नहीं बनतीं।
त्वरित जाँच
कंस्ट्रक्टर और init की अपनी समझ जाँचें।
पुनरावृत्ति
आपने प्राथमिक कंस्ट्रक्टर, उसमें val/var के साथ प्रॉपर्टीज़ घोषित करना और उन्हें डिफ़ॉल्ट वैल्यू देना सीखा।
init ब्लॉक सेटअप और वैलिडेशन संभालता है और प्रॉपर्टी इनिशियलाइज़र के साथ ऊपर से नीचे चलता है। अब आप डेटा वर्गों से परिचित होंगे, जो यह शुरुआती कोड आपके लिए अपने-आप तैयार करते हैं।
एआई शिक्षक के साथ Kotlin सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 36
- पाठ
- 152
अक्सर पूछे जाने वाले प्रश्न
क्या “Constructors और init” पाठ निःशुल्क है?
हाँ — Android Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “Constructors और init” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Android Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“Constructors और init” में मैं क्या सीखूँगा?
Objects बनाएँ और प्रारंभ करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Android Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Android Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Android Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।
“Constructors और init” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Android Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Android Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- Functions घोषित करना
- Classes और Properties
- Constructors और init
- Data Classes