Android Academy · पाठ

क्लास और ऑब्जेक्ट

गुणों और विधियों वाली क्लास परिभाषित करें, कंस्ट्रक्टर का उपयोग करें, इनहेरिटेंस और इंटरफ़ेस समझें तथा Kotlin की शैली के अनुरूप ऑब्जेक्ट-ओरिएंटेड कोड लिखें।

पाठ 2, कुल 4 में से11 चरण

क्लास और ऑब्जेक्ट, CoddyKit पर Android Academy का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Android Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Android Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

Class क्या है?

class objects बनाने का blueprint है। यह संबंधित data (properties) और behavior (functions) को एक साथ रखता है।

  • class Dog — blueprint परिभाषित करता है
  • val myDog = Dog() — एक instance (object) बनाता है

उदाहरण: एक User class, जिसमें name, age और email होते हैं।

Class परिभाषित करना

Kotlin classes में primary constructor का संक्षिप्त syntax होता है:

class User(val name: String, var age: Int) {
    fun greet(): String {
        return "Hi, I'm $name and I'm $age years old."
    }
}

fun main() {
    val user = User("Alice", 28)
    println(user.name)     // Alice
    println(user.age)      // 28
    user.age = 29          // var can be changed
    println(user.greet())
}

Data Classes

data class data रखने के लिए उपयुक्त होती है। data keyword जोड़ने पर Kotlin अपने-आप यह बनाता है:

  • equals() / hashCode() — value के आधार पर तुलना
  • toString() — मनुष्यों के लिए पढ़ने योग्य output
  • copy() — बदली हुई copy बनाना

Data Class का उदाहरण

Model objects को दर्शाते समय data classes बहुत उपयोगी होती हैं:

data class Product(val id: Int, val name: String, val price: Double)

fun main() {
    val p1 = Product(1, "Laptop", 999.99)
    val p2 = p1.copy(price = 899.99) // new copy with changed price

    println(p1)           // Product(id=1, name=Laptop, price=999.99)
    println(p2)           // Product(id=1, name=Laptop, price=899.99)
    println(p1 == p2)     // false (different price)
}

Companion Objects

companion object में ऐसे members होते हैं जो किसी instance के नहीं, बल्कि स्वयं class के होते हैं — Java में static के समान।

उन्हें class name के माध्यम से access करें: User.create()

Companion Object का उदाहरण

Factory methods और constants के लिए companion objects का उपयोग करें:

class Counter {
    var count = 0

    fun increment() { count++ }

    companion object {
        const val MAX = 100

        fun create(): Counter = Counter()
    }
}

fun main() {
    val c = Counter.create()
    c.increment()
    c.increment()
    println(c.count)        // 2
    println(Counter.MAX)    // 100
}

Inheritance

Kotlin classes डिफ़ॉल्ट रूप से final होती हैं (इनका विस्तार नहीं किया जा सकता)। Inheritance की अनुमति देने के लिए class को open चिह्नित करें।

  • open class Animal — इसका विस्तार किया जा सकता है
  • class Dog : Animal() — Animal का विस्तार करती है
  • override fun sound() — parent function को override करती है

Inheritance का उदाहरण

एक सरल class hierarchy बनाएँ:

open class Shape {
    open fun area(): Double = 0.0
}

class Circle(val radius: Double) : Shape() {
    override fun area(): Double = 3.14159 * radius * radius
}

class Rectangle(val w: Double, val h: Double) : Shape() {
    override fun area(): Double = w * h
}

fun main() {
    val shapes: List<Shape> = listOf(
        Circle(5.0),
        Rectangle(4.0, 3.0)
    )
    for (s in shapes) println("Area: ${s.area()}")
}

Object Declarations

object declaration एक singleton बनाता है — ऐसी class जिसका ठीक एक instance होता है और जो पहली बार access किए जाने पर lazily बनाई जाती है।

इसे utilities, managers या ऐसी किसी भी चीज़ के लिए उपयोग करें जिसका केवल एक instance होना चाहिए।

त्वरित जाँच

Kotlin की data class कौन-सी सुविधा स्वचालित रूप से देती है?

पुनरावलोकन: Classes और Objects

आपने Kotlin में OOP के मूल building blocks सीखे:

  • Primary constructors और member functions वाली classes
  • data class — स्वचालित रूप से बनाए गए equals, toString, copy
  • companion object — class-level (static) members
  • Inheritance के लिए open classes और override
  • Singletons के लिए object declarations

अब आप वास्तविक Android apps बनाने के लिए तैयार हैं!

शुरुआत निःशुल्क

एआई शिक्षक के साथ Kotlin सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
36
पाठ
152

अक्सर पूछे जाने वाले प्रश्न

क्या “क्लास और ऑब्जेक्ट” पाठ निःशुल्क है?

हाँ — Android Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “क्लास और ऑब्जेक्ट” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Android Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“क्लास और ऑब्जेक्ट” में मैं क्या सीखूँगा?

गुणों और विधियों वाली क्लास परिभाषित करें, कंस्ट्रक्टर का उपयोग करें, इनहेरिटेंस और इंटरफ़ेस समझें तथा Kotlin की शैली के अनुरूप ऑब्जेक्ट-ओरिएंटेड कोड लिखें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Android Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Android Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Android Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।

“क्लास और ऑब्जेक्ट” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Android Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Android Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. नल सुरक्षा
  2. क्लास और ऑब्जेक्ट
  3. डेटा क्लास और सील्ड क्लास
  4. एक्सटेंशन फ़ंक्शन और उच्च-क्रम फ़ंक्शन
← Android Academy पर वापस जाएँ