التابع Enum.toString()‎ في لغة Kotlin

من موسوعة حسوب
< Kotlin‏ | Enum
مراجعة 10:28، 4 يوليو 2018 بواسطة محمد-بغات (نقاش | مساهمات) (أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع Enum.toString()‎ في لغة Kotlin}}</noinclude> يطلق التابع <code>toString()</code>‎ استثناءً (exception)...')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

يطلق التابع toString()‎ استثناءً (exception) لأنّ ثوابت enum  لا يمكن أن تُنسخ. هذا التابع يمنع الأصناف من النوع Enum من أن ترِث من الصنف Cloneable.

البنية العامة

protected fun clone(): Any

أمثلة

في الشيفرة الآتية ننشئ صنفًا من النوع Enum باسم ColorEnum مكونًا من أربعة ثوابت  Red  و Blue  و Green  و Orange، ثم ننشئ متغيرًا x يحتوي القيمة RED للصنف ColorEnum، ثم نستدعي الدالة toString()‎عبر x ، وكنتيجة لذلك سيطلق المُصرّف استثناء:

fun main(args: Array<String>) {
    val x = ColorEnum.Red
    val y = x.clone() // Error:(3, 14) Cannot access 'clone': it is protected in 'ColorEnum'
}

enum class ColorEnum(val colorCode: Int) 
{
     Red(2),
     Blue(11212),
     Green(21212),
     Orange(212121)
 }

انظر أيضًا

  • الخاصيّة ordinal: تعيد ترتيب مُركّبة الكائن enum الذي استُدعيت عبره، أي ترتيبها في تصريح الكائن enum، بحيث تأخذ المُركّبة الأولى العدد 0
  • الخاصيّة name:تعيد اسم مُركّبة الكائن enum الذي استُدعيت عبره، كما سُمّيت أُثناء تعريف ذلك الكائن. 

مصادر