الفرق بين المراجعتين ل"Kotlin/Enum/clone"
اذهب إلى التنقل
اذهب إلى البحث
جميل-بيلوني (نقاش | مساهمات) ط |
|||
(5 مراجعات متوسطة بواسطة مستخدمين اثنين آخرين غير معروضة) | |||
سطر 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 الخاصّة بالكائن الذي استُدعي معها