Kotlin in Hindi – Enum Classes

  • Introduction to kotlin enum classes in Hindi
  • Working with kotlin enum classes in Hindi

Introduction to Kotlin Enum Classes

यदि आप enums के बारे में java में पहले पढ़ चुके है तो में आपको बताना चाहूँगा की kotlin में enums classes के रूप में implement किये जाते है। ऐसी classes को enum classes कहा जाता है।

Type-safe Enums

Kotlin में enum classes का प्रमुख उद्देश्य type-safe enums implement करना है। इसका अर्थ है की kotlin enums को किसी दूसरे type को नहीं assign किया जा सकता है।

Defined Using enum Keyword

Kotlin में enum classes को enum keyword के साथ define किया जाता है। 

<enum> <class> <enum-Class-Name>
{
      //enum constants here….
}

Constants are Objects

जैसा की आपको पता है enum types में constants define किये जाते है जो उनकी predefined values होती है। Kotlin enum classes में भी constants define किये जाते है। इन्हें comma से separate करके लिखा जाता है। एक enum class में define किये गए सभी constants उस enum class के objects होते है। 

enum class fruits
{
    Apple, Guava, Banana
}

Constants Can Be Initialized

Enum classes के अंदर आप constants को initialize भी कर सकते है। इसके लिए kotlin name के बाद round brackets में उनकी values define की जाती है।

enum class fruits
{
   Apple(Red)
   Guava(Green)
   Banana(Yellow)
}

Can Define Other Members

एक enum class किसी normal class की तरह constants के अलावा members भी define कर सकती है। ये members constants से semicolon द्वारा separate करके define किये जाने चाहिए। 

enum class fruits
{
     Apple(Red),
     Guava(Green),
     Banana(Yellow);

 

     //define other members here….
}

Constants Can Declare Anonymous Class

Enum classes में define किये जाने वाले constants खुद की anonymous classes define कर सकते है। Anonymous class के अंदर constants खुद के members define कर सकते है, इसके अलावा वे enum class के members को भी override कर सकते है।

enum class fruits
{      //members of enum class      Apple{
           //define members here
           //override members of enum class
      }      Guava{      }      Banana{      }
}

Can Not Define Nested Types

Enum classes के अंदर nested types नहीं define किये जा सकते है। हालाँकि आप inner classes एक enum class के अंदर define कर सकते है।

Can Implement an Interface

एक enum class किसी दूसरी class को inherit नहीं कर सकती है। हालाँकि enum classes interfaces को implement कर सकती है। 

Implement किये जाने वाले interface के members की या तो एक ही common definition constant anonymous classes के बाहर members की तरह provide की जा सकती है। 

इसके अलावा हर constant की anonymous classes के अंदर भी interface के members को separately implement किया जा सकता है। यदि आप एक common implementation नहीं provide करते है तो सभी constants की anonymous classes द्वारा interface के member का implementation provide करना अनिवार्य हो जाता है। 

Methods of Kotlin Enum Classes

Kotlin enum classes के साथ programmers के लिए कुछ methods available होते है। ये methods enum classes के constants को list और access करने के लिए प्रयोग किये जाते है। 

valueOf(name)

यह method किसी constant की value को access करने के लिए use किया जाता है। इस method में argument के रूप में उस constant का नाम pass किया जाता है। यदि pass किया गया name enum class के किसी constant से match नहीं होता है तो runtime exception generate होती है। 

values()

यह method एक enum class के सभी constants को array के रूप return करता है जिनको for loop द्वारा iterate करके access किया जा सकता है। 

Properties of Kotlin Enum Class Objects

एक enum class के हर object के साथ कुछ properties भी available होती है जो उस object के बारे information प्रदान करती है। 

name

यह property enum class के किसी constant का नाम store करती है। 

ordinal 

ये property किसी constant की position store करती है।

Previous: Kotlin Nested and Inner Classes
Next: Kotlin Inline Classes