الفرق بين المراجعتين لصفحة: «Kotlin/Enum/clone»
جميل-بيلوني (نقاش | مساهمات) لا ملخص تعديل |
جميل-بيلوني (نقاش | مساهمات) مراجعة وتدقيق. |
||
| سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: | <noinclude>{{DISPLAYTITLE:الدالة <code>Enum.clone()</code> في Kotlin}}</noinclude> | ||
ترمي الدالة <code>clone()</code> استثناءً لأنّ ثوابت الصنف <code> | ترمي الدالة <code>clone()</code> استثناءً لأنّ ثوابت الصنف [[Kotlin/Enum|<code>Enum</code>]] لا يمكن أن تُنسخ. تمنع هذه الدالة الأصناف ذات النوع <code>[[Kotlin/Enum|Enum]]</code> من أن ترِث من الصنف <code>Cloneable</code>. | ||
== البنية العامة == | == البنية العامة == | ||
| سطر 25: | سطر 25: | ||
== انظر أيضًا == | == انظر أيضًا == | ||
* | * الدالة <code>[[Kotlin/Enum/compareTo|compareTo()]]</code> بين الكائن الذي استُدعي معها والكائن المُمرّر إليها ثمَّ تعيد القيمة 0 إن كانا متساويين، أو قيمة سالبة إن كان الكائن الأول (أي الذي استُدعي معها) أصغر من الكائن الثاني، أو قيمة موجبة إن كان الكائن الأول أكبر من الكائن الثاني. | ||
* | * الدالة [[Kotlin/Enum/hashCode|<code>hashCode()</code>]]: تعيد الشيفرة Hash الخاصّة بالكائن الذي استُدعي معها | ||
== مصادر == | == مصادر == | ||
مراجعة 11:24، 16 أغسطس 2018
ترمي الدالة clone() استثناءً لأنّ ثوابت الصنف Enum لا يمكن أن تُنسخ. تمنع هذه الدالة الأصناف ذات النوع Enum من أن ترِث من الصنف Cloneable.
البنية العامة
protected fun clone(): Any
أمثلة
يؤدي استعمال الدالة clone() في المثال التالي إلى رمي استثناء:
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)
}
انظر أيضًا
- الدالة
compareTo()بين الكائن الذي استُدعي معها والكائن المُمرّر إليها ثمَّ تعيد القيمة 0 إن كانا متساويين، أو قيمة سالبة إن كان الكائن الأول (أي الذي استُدعي معها) أصغر من الكائن الثاني، أو قيمة موجبة إن كان الكائن الأول أكبر من الكائن الثاني. - الدالة
hashCode(): تعيد الشيفرة Hash الخاصّة بالكائن الذي استُدعي معها