क्लास, ऑब्जेक्ट और पैकेजिंग
Scala में क्लास परिभाषित करना, ऑब्जेक्ट बनाना और पैकेज का उपयोग करके अपने कोड को व्यवस्थित करना समझें।
क्लास, ऑब्जेक्ट और पैकेजिंग, CoddyKit पर बैकएंड इंजीनियरिंग और कार्यात्मक प्रोग्रामिंग के लिए Scala का एक निःशुल्क पाठ है। यह 2 में से 1वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह बैकएंड इंजीनियरिंग और कार्यात्मक प्रोग्रामिंग के लिए Scala सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। बैकएंड इंजीनियरिंग और कार्यात्मक प्रोग्रामिंग के लिए Scala पाठ्यक्रम में कुल 2 पाठ शामिल हैं।
Scala में OOP का स्वागत है
इस पाठ में आप Scala में ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग (OOP) के मूल सिद्धांतों को गहराई से समझेंगे। हम देखेंगे कि classes का उपयोग करके अपने कोड की संरचना कैसे करें, उन classes के instances (objects) कैसे बनाएँ और packages के साथ सब कुछ व्यवस्थित कैसे रखें।
आइए सुदृढ़ और मॉड्यूलर एप्लिकेशन बनाना शुरू करें!
Classes: प्रारूप
क्लास को ऑब्जेक्ट बनाने के खाके के रूप में समझिए। यह उन गुणों (डेटा) और व्यवहारों (मेथड्स) को परिभाषित करती है जो उसके ऑब्जेक्ट में होंगे। क्लास स्वयं डेटा नहीं रखतीं, बल्कि यह बताती हैं कि कोई ऑब्जेक्ट कौन-सा डेटा रख सकता है।
यहाँ एक बुनियादी क्लास परिभाषा दी गई है:
class Car {
// Properties and methods go here
}एक सरल क्लास परिभाषित करना
Scala में, आप class कीवर्ड के बाद उसका नाम लिखकर क्लास परिभाषित करते हैं। आइए एक सरल Dog क्लास बनाएँ। यह अभी बहुत कुछ नहीं करती, लेकिन यह एक शुरुआत है!
इस खाली क्लास परिभाषा को चलाकर देखें:
class Dog {
// This dog has no properties or behaviors yet
}
object Main {
def main(args: Array[String]): Unit = {
println("Dog class defined!")
}
}ऑब्जेक्ट (इंस्टेंस) बनाना
एक ऑब्जेक्ट, क्लास का एक इंस्टेंस होता है। यह उस खाके से बनाई गई एक वास्तविक 'चीज़' है। ऑब्जेक्ट बनाने के लिए, आप new कीवर्ड के बाद क्लास का नाम लिखते हैं।
हर ऑब्जेक्ट को क्लास के अनुसार अपना अलग डेटा-समूह मिलता है।
class Dog {
// Still an empty dog blueprint
}
object Main {
def main(args: Array[String]): Unit = {
val myDog = new Dog()
val yourDog = new Dog()
println("Two dog objects created!")
}
}क्लास में गुण जोड़ना
क्लास में गुण (जिन्हें फ़ील्ड या सदस्य भी कहा जाता है) हो सकते हैं, जो डेटा संग्रहीत करते हैं। आप इन्हें क्लास के कंस्ट्रक्टर में परिभाषित करके ऑब्जेक्ट बनाते समय पैरामीटर के रूप में दे सकते हैं।
आइए अपने Dog को एक name और breed दें:
class Dog(val name: String, val breed: String) {
// 'val' makes name and breed immutable properties
}
object Main {
def main(args: Array[String]): Unit = {
val myDog = new Dog("Buddy", "Golden Retriever")
println(s"My dog's name is ${myDog.name} and breed is ${myDog.breed}.")
}
}व्यवहार जोड़ना (मेथड्स)
क्लास मेथड्स भी परिभाषित करती हैं, जो ऑब्जेक्ट के व्यवहार का वर्णन करने वाले फ़ंक्शन होते हैं। मेथड्स ऑब्जेक्ट के गुणों को पढ़ और बदल सकते हैं।
अब हमारा Dog bark() कर सकता है:
class Dog(val name: String, val breed: String) {
def bark(): String = {
s"${name} says Woof!"
}
}
object Main {
def main(args: Array[String]): Unit = {
val myDog = new Dog("Max", "Labrador")
println(myDog.bark())
}
}Scala का `object` (सिंगलटन)
Scala में, object कीवर्ड एक सिंगलटन परिभाषित करता है। इसका अर्थ है कि उसका केवल एक ही इंस्टेंस हो सकता है। इसे बनाने के लिए आप new का उपयोग नहीं करते; बस उसके नाम का संदर्भ देते हैं।
इनका उपयोग अक्सर उपयोगिता मेथड्स या एकल प्रवेश-बिंदु के लिए किया जाता है।
object MathUtils {
def add(a: Int, b: Int): Int = a + b
def subtract(a: Int, b: Int): Int = a - b
}
object Main {
def main(args: Array[String]): Unit = {
val sum = MathUtils.add(5, 3)
println(s"5 + 3 = ${sum}")
}
}सहचर ऑब्जेक्ट
एक सहचर ऑब्जेक्ट ऐसा object होता है जिसका नाम किसी class के समान होता है और जिसे उसी स्रोत फ़ाइल में परिभाषित किया जाता है। इन्हें एक-दूसरे के निजी सदस्यों तक विशेष पहुँच प्राप्त होती है।
- क्लास इंस्टेंस-विशिष्ट डेटा और मेथड्स रखती है।
- सहचर ऑब्जेक्ट स्थिर-जैसे मेथड्स या फ़ैक्टरी मेथड्स रखता है।
class Circle(val radius: Double) {
def area: Double = Circle.PI * radius * radius
}
object Circle {
// This is the companion object for the Circle class
val PI: Double = 3.14159
def apply(r: Double): Circle = new Circle(r) // Factory method
}
object Main {
def main(args: Array[String]): Unit = {
val c = Circle(5.0) // Using the apply method from companion object
println(s"Circle area: ${c.area}")
}
}पैकेज के साथ कोड व्यवस्थित करना
पैकेज आपकी क्लास और ऑब्जेक्ट को तार्किक समूहों में व्यवस्थित करने का एक तरीका हैं। ये नामों के टकराव को रोकते हैं और कोड के रखरखाव को बेहतर बनाते हैं।
इन्हें अपने कोड के फ़ोल्डर के रूप में समझिए। package कीवर्ड Scala फ़ाइल के शीर्ष पर पैकेज घोषित करता है।
package com.coddykit.animals
class Cat(val name: String) {
def meow(): String = s"${name} says Meow!"
}
// This class is now inside com.coddykit.animals packageपैकेज से सदस्यों को इम्पोर्ट करना
किसी अन्य पैकेज में परिभाषित क्लास या ऑब्जेक्ट का उपयोग करने के लिए, आपको उन्हें इम्पोर्ट करना होगा। import कीवर्ड किसी पैकेज के सदस्यों को आपके वर्तमान दायरे में उपलब्ध कराता है।
आइए अपनी Cat क्लास इम्पोर्ट करें:
package com.coddykit.app
// Define a class in a package first for import example
package com.coddykit.animals {
class Cat(val name: String) {
def meow(): String = s"${name} says Meow!"
}
}
import com.coddykit.animals.Cat
object Main {
def main(args: Array[String]): Unit = {
val myCat = new Cat("Whiskers")
println(myCat.meow())
}
}त्वरित जाँच: क्लास या ऑब्जेक्ट?
आपने क्लास, ऑब्जेक्ट और पैकेज के बारे में सीखा है। आइए अपनी समझ की जाँच करें!
पुनरावृत्ति: क्लास, ऑब्जेक्ट, पैकेज
बहुत बढ़िया! आपने Scala में OOP की मूल बातें सीख ली हैं:
- क्लास गुणों और व्यवहारों को परिभाषित करने वाले खाके होती हैं।
- ऑब्जेक्ट,
newका उपयोग करके क्लास से बनाए गए इंस्टेंस होते हैं। - Scala का
objectकीवर्ड सिंगलटन बनाता है, जो उपयोगिता कार्यों या फ़ैक्टरी के लिए उपयोगी होते हैं। - सहचर ऑब्जेक्ट, स्थिर-जैसे सदस्यों के लिए क्लास के साथ जोड़े जाते हैं।
- पैकेज आपके कोड को व्यवस्थित करते हैं, नामों के टकराव को रोकते हैं और संरचना को बेहतर बनाते हैं।
आगे, हम इन आधारों पर इनहेरिटेंस और पॉलीमॉर्फ़िज़्म का अध्ययन करेंगे!
एआई शिक्षक के साथ Scala सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 39
- पाठ
- 143
अक्सर पूछे जाने वाले प्रश्न
क्या “क्लास, ऑब्जेक्ट और पैकेजिंग” पाठ निःशुल्क है?
हाँ—“क्लास, ऑब्जेक्ट और पैकेजिंग” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और बैकएंड इंजीनियरिंग और कार्यात्मक प्रोग्रामिंग के लिए Scala पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। बैकएंड इंजीनियरिंग और कार्यात्मक प्रोग्रामिंग के लिए Scala पाठ्यक्रम में कुल 2 पाठ शामिल हैं।
“क्लास, ऑब्जेक्ट और पैकेजिंग” में मैं क्या सीखूँगा?
Scala में क्लास परिभाषित करना, ऑब्जेक्ट बनाना और पैकेज का उपयोग करके अपने कोड को व्यवस्थित करना समझें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ बैकएंड इंजीनियरिंग और कार्यात्मक प्रोग्रामिंग के लिए Scala का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या बैकएंड इंजीनियरिंग और कार्यात्मक प्रोग्रामिंग के लिए Scala शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर बैकएंड इंजीनियरिंग और कार्यात्मक प्रोग्रामिंग के लिए Scala शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 2 में से 1वाँ पाठ है।
“क्लास, ऑब्जेक्ट और पैकेजिंग” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस बैकएंड इंजीनियरिंग और कार्यात्मक प्रोग्रामिंग के लिए Scala पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर बैकएंड इंजीनियरिंग और कार्यात्मक प्रोग्रामिंग के लिए Scala पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- क्लास, ऑब्जेक्ट और पैकेजिंग
- विरासत और बहुरूपता