التابع Enum.toString() في لغة Kotlin
يطلق التابع 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الذي استُدعيت عبره، كما سُمّيت أُثناء تعريف ذلك الكائن.