التابع Enum.clone() في لغة Kotlin
اذهب إلى التنقل
اذهب إلى البحث
يطلق التابع clone()
استثناءً (exception) لأنّ ثوابت enum لا يمكن أن تُنسخ. هذا التابع يمنع الأصناف من النوع Enum
من أن ترِث من الصنف Cloneable
.
البنية العامة
protected fun clone(): Any
أمثلة
في الشيفرة الآتية ننشئ صنفًا من النوع Enum
باسم ColorEnum
مكونًا من أربعة ثوابت Red
و Blue
و Green
و Orange
، ثم ننشئ متغيرًا x
يحتوي القيمة RED
للصنف ColorEnum
، ثم نستدعي الدالة equals()
عبر 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
الذي استُدعيت عبره، كما سُمّيت أُثناء تعريف ذلك الكائن.