الفرق بين المراجعتين لصفحة: «Kotlin/Enum/clone»
لا ملخص تعديل |
جميل-بيلوني (نقاش | مساهمات) طلا ملخص تعديل |
||
(6 مراجعات متوسطة بواسطة مستخدمين اثنين آخرين غير معروضة) | |||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: | <noinclude>{{DISPLAYTITLE:الدالة <code>Enum.clone()</code> في Kotlin}}</noinclude> | ||
ترمي الدالة <code>clone()</code> استثناءً لأنّ ثوابت الصنف [[Kotlin/Enum|<code>Enum</code>]] لا يمكن أن تُنسَخ. تمنع هذه الدالة الأصناف ذات النوع <code>[[Kotlin/Enum|Enum]]</code> من أن ترِث من الصنف <code>Cloneable</code>. | |||
== البنية العامة == | == البنية العامة == | ||
سطر 8: | سطر 8: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== أمثلة == | == أمثلة == | ||
يؤدي استعمال الدالة <code>clone()</code> في المثال التالي إلى رمي استثناء:<syntaxhighlight lang="kotlin"> | |||
fun main(args: Array<String>) { | fun main(args: Array<String>) { | ||
val x = ColorEnum.Red | val x = ColorEnum.Red | ||
سطر 25: | سطر 25: | ||
== انظر أيضًا == | == انظر أيضًا == | ||
* | * الدالة <code>[[Kotlin/Enum/compareTo|compareTo()]]</code> بين الكائن الذي استُدعي معها والكائن المُمرّر إليها ثمَّ تعيد القيمة 0 إن كانا متساويين، أو قيمة سالبة إن كان الكائن الأول (أي الذي استُدعي معها) أصغر من الكائن الثاني، أو قيمة موجبة إن كان الكائن الأول أكبر من الكائن الثاني. | ||
* | * الدالة [[Kotlin/Enum/hashCode|<code>hashCode()</code>]]: تعيد الشيفرة Hash الخاصّة بالكائن الذي استُدعي معها | ||
== مصادر == | == مصادر == | ||
* [https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-enum/clone.html صفحة | * [https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-enum/clone.html صفحة التابع Enum.clone() في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.] | ||
[[تصنيف:Kotlin]] | [[تصنيف:Kotlin]] | ||
[[تصنيف:Kotlin | [[تصنيف:Kotlin Function]] | ||
[[تصنيف:Kotlin Enum]] |
المراجعة الحالية بتاريخ 12:34، 9 سبتمبر 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 الخاصّة بالكائن الذي استُدعي معها