Kotlin in Hindi : Classes

  • Introduction to kotlin classes in Hindi
  • kotlin class constructors in Hindi
  • kotlin class members in Hindi

Introduction to Kotlin Classes

Class एक object oriented programming concept है। जैसा की आपको पता है kotlin object oriented programming को support करती है। इसलिए object oriented programming features को use करने के लिए आपको class के बारे सबसे पहले पता होना आवश्यक है। क्योंकि class object oriented programming का सबसे महत्वपूर्ण feature है।

Representation of Data and It’s Behaviour 

एक class एक code block होता है। इस code block में data (variables) और उससे related behaviour (functions) को represent किया जाता है। 

Helps Managing Data

यदि आप किसी person से related information जैसे की नाम, पता आदि को store करना चाहते है तो इसके लिए आपको अलग अलग variables create करने होंगे। इससे आपका data अलग अलग store होगा और आपको उसे अलग अलग नामों से access करना होगा।

यदि data बहुत अधिक है तो इस प्रकार data को manage करना बहुत मुश्किल होता है।

लेकिन class का उपयोग करके आप data के इस बिखराव से बच जाते है। एक class द्वारा data और उससे related functions को एक जगह store किया जाता है।

एक class create करके आप किसी person की information को एक नाम के निचे store कर सकते है। इससे आपका data एकत्र रहता है और उसे handle करना आसान रहता है।

It is a Blueprint 

Class एक blueprint होती है जिसके आधार पर कई objects create कर सकते है। मान लीजिये आप एक person class create करते है जो किसी person की information को store करने के लिए use की जाएगी।

ऐसा नहीं है की आप उस person class के द्वारा सिर्फ एक ही person की information store कर सकते है। बल्कि class एक structure provide करती है।

यानी उस class के अलग अलग objects create करके आप कई लोगों की information store कर सकते है। जिन्हें उस object नाम के द्वारा access किया जा सकेगा।

Creating Classes in Kotlin

Kotlin में classes create करना Java और दूसरी programming languages से बहुत अलग है। यह difference सिर्फ syntax के सन्दर्भ में है। Kotlin में class का concept और use वही है जो दूसरी programming languages में है।

Declared Using class Keyword

Kotlin में class को class keyword से declare किया जाता है।

class <class-name>
{

}

Class keyword के बाद class का नाम specify किया जाता है। एक class का नाम पुरे program में unique होना चाहिए।

Primary Constructor

एक Kotlin class में primary और secondary दो constructors होते है। Primary constructor को class के नाम के बाद define किया जाता है। Primary constructor class header का part होता है। 

class <class-name> constructor(parameters-list…)
{

}

Primary constructor को constructor keyword द्वारा define किया जाता है। इस keyword के साथ parameters की list भी define की जाती है। ये parameters object create करते समय user द्वारा pass किये जाते है।

Access Modifier

Kotlin में class declare करते समय primary constructor से पूर्व access modifier भी define किया जाता है। Access modifier से class का access level define किया जाता है।

class <class-name> <access-modifier> constructor(parameter-list…)
{

}

यदि आप कोई access modifier define नहीं करते है तो आपको constructor keyword define करने की कोई आवश्यकता नहीं है। आप सीधे ही parameters की list को define कर सकते है।

class <class-name>(parameter-list…)
{

}

आपको एक बात ध्यान रखनी चाहिए की kotlin में class का default access level public है। Kotlin में आपको किसी class को manually public specify करने की आवश्यकता नहीं है।

Empty Class

Class header (primary constructor & parameter list) और class body define करना optional होता है। आप  इनके बिना भी एक class define कर सकते है। ऐसी class empty class कहलाती है। 

class <class-name>

initializer (init) Block

Kotlin primary constructor में सिर्फ parameters define किये जाते है। इसमें आप कोई दूसरा code नहीं लिख सकते है। अब सवाल यह आता है की आप object create करते समय pass किये गए arguments को class properties को किस प्रकार assign किया जायेगा। 

class <class-name>(parameter-list…)
{
    init
    {
         //initialize properties here…
     }
}

इस कार्य के लिए kotlin में init block का concept introduce किया गया है। Init block को init keyword द्वारा define किया जाता है। इस block में आप primary constructor के parameters को use कर सकते है और class की properties को initialize कर सकते है। 

Class object create करते समय initializer block execute होता है। एक class के अंदर एक से अधिक initializer blocks define किये जा सकते है। ये blocks उसी order में execute होते है जिस order में इन्हें define किया जाता है।

Annotations

Annotations द्वारा code के साथ meta data attach किया जाता है। Metadata code के बारे में जानकारी प्रदान करता है। Annotations को access modifier के बाद और primary constructor से पूर्व define किया जाता है। 

class <class-name> <access-modifier> <annotations> constructor(parameters-list…)
{
 
}

Secondary Constructor

एक kotlin class के अंदर secondary constructor भी define किया जाता है। यह constructor class body में define किया जाता है। Secondary constructor को define करने के लिए constructor keyword प्रयोग किया जाता है। 

class <class-name> constructor(parameters-list…)
{
      constructor(parameters-list…): this(parameters-list)
      {
           //secondary constructor body
      }
}

Delegation to Primary Constructor

यदि class में primary और secondary दोनों ही constructors define किये गए है तो ऐसे में secondary constructor से primary constructor को delegate किया जाना चाहिए। यह delegation this keyword द्वारा किया जाता है। 

constructor(parameters-list): this(parameters)
{
   //body of secondary constructor
}

Primary constructor delegation secondary constructor की header में होता है। सभी init blocks secondary constructors से पहले execute किये जाते है।

Why Secondary Constructor

Kotlin classes में available secondary constructor कई situations में बहुत उपयोगी होता है। उदाहरण के लिए यदि आप अलग अलग parameters द्वारा objects create करना चाहते है तो ऐसा आप secondary constructor द्वारा कर सकते है। 

Secondary constructor के प्रयोग से आप method overloading की ही तरह constructor overloading कर सकते है और अलग अलग objects की सँख्या से भी objects create कर सकते है। 

Creating Objects of Kotlin Classes

Objects किसी class का real representation होता है। असल में में class सिर्फ एक blueprint होती है और objects उस blueprint के आधार पर बनाये गए real elements होते है। Objects ही data को hold करते है।

No Need of new Keyword

Kotlin में objects create करना java से अलग है। Kotlin में object create करने के लिए आपको new keyword की आवश्यकता नहीं होती है। Kotlin में object create करने के लिए आप class के constructor को किसी function की तरह call करते है। 

val <object-name> = <class-name>();

Objects create करते समय parameters भी pass किये जा सकते है।

val <object-name> = <class-name>(parameters-list…)

Example of Kotlin Classes

fun main(args:  Array<String>)
{
    val obj = Welcome(“Best Hindi Tutorials”)
}

class Welcome constructor(name: String)
{
     init
    {
          println(“Welcome to ${name}”)
    }
}

Welcome to Best Hindi Tutorials

Previous: Kotlin Control Flow
Next: Kotlin Properties