الفرق بين المراجعتين لصفحة: «Kotlin/Enum/clone»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع Enum.clone() في لغة Kotlin}}</noinclude> تبين الدالة <code>clone()</code> إذا ما كان الكائن ا...' |
لا ملخص تعديل |
||
| سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: التابع Enum.clone() في لغة Kotlin}}</noinclude> | <noinclude>{{DISPLAYTITLE: التابع Enum.clone() في لغة Kotlin}}</noinclude> | ||
يطلق التابع <code>clone()</code> استثناءً (exception) لأنّ ثوابت enum لا يمكن أن تُنسخ. هذا التابع يمنع الأصناف من النوع <code>[[Kotlin/Enum/index|Enum]]</code> من أن ترِث من الصنف <code>Cloneable</code>. | |||
== البنية العامة == | == البنية العامة == | ||
<syntaxhighlight lang="kotlin"> | <syntaxhighlight lang="kotlin"> | ||
fun | protected fun clone(): Any | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== أمثلة == | == أمثلة == | ||
في الشيفرة الآتية ننشئ | في الشيفرة الآتية ننشئ صنفًا من النوع <code>Enum</code> باسم <code>ColorEnum</code> مكونًا من أربعة ثوابت <code>RED</code> و <code>BLUE</code> و <code>GREEN</code> و <code>ORANGE</code>، ثم ننشئ متغيرًا <code>x</code> يحتوي القيمة <code>RED</code> للصنف <code>ColorEnum</code>، ثم نستدعي الدالة <code>equals()</code>عبر <code>x</code> ، وكنتيجة لذلك سيطلق المُصرّف استثناء:<syntaxhighlight lang="kotlin"> | ||
fun main(args: Array<String>) { | fun main(args: Array<String>) { | ||
val x = ColorEnum.Red | val x = ColorEnum.Red | ||
val y = | val y = x.clone() // Error:(3, 14) Cannot access 'clone': it is protected in 'ColorEnum' | ||
} | } | ||
| سطر 29: | سطر 22: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| سطر 43: | سطر 29: | ||
== مصادر == | == مصادر == | ||
* [https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-enum/ | * [https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-enum/clone.html صفحة الدالة clone.equals() في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.] | ||
[[تصنيف:Kotlin]] | [[تصنيف:Kotlin]] | ||
[[تصنيف:Kotlin Method]] | [[تصنيف:Kotlin Method]] | ||
مراجعة 10:20، 4 يوليو 2018
يطلق التابع 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الذي استُدعيت عبره، كما سُمّيت أُثناء تعريف ذلك الكائن.