الفرق بين المراجعتين لصفحة: «Kotlin/javaClass»

من موسوعة حسوب
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الخاصية javaClass‎ في لغة Kotlin}}</noinclude> تعطي الخاصية javaClass صنف الجافا الخاص بالكائن...'
 
لا ملخص تعديل
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: الخاصية javaClass‎ في لغة Kotlin}}</noinclude>
<noinclude>{{DISPLAYTITLE: الخاصية javaClass‎ في لغة Kotlin}}</noinclude>
 
تعطي الخاصية <code>javaClass</code> صنف الجافا الخاص بالكائن الذي استدعيت عبره في وقت التشغيل. هذه الخاصية مُعرّفة على جميع الأصناف المنحدرة من الصنف <code>[[Kotlin/Any|Any]]</code>.
تعطي الخاصية javaClass صنف الجافا الخاص بالكائن الذي استدعيت عبره في وقت التشغيل. هذه الخاصية مُعرّفة على جميع الأصناف المنحدرة من الصنف Any.


== البنية العامة ==
== البنية العامة ==
inline val <T : Any> T.javaClass: Class<T>
<syntaxhighlight lang="kotlin">
 
inline val <: Any> T.javaClass: Class<T>
يُلاحَظ وجود الكلمة المفتاحية inline للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع [[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].
</syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع [[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].


== القيم المعادة ==
== القيم المعادة ==
سطر 13: سطر 12:
== أمثلة ==
== أمثلة ==


=== استخدام الخاصية javaClass‎ على سلسةٍ نصية ===
=== استخدام الخاصية <code>javaClass‎</code> على سلسةٍ نصية ===
تنشئ الشيفرة الآتية سلسلة نصية ثم تستخرج صنف الجافا الخاص بها عبر استدعاء الخاصية javaClass‎ عبر تلك السلسلة ثم تطبع النتيجة:
تنشئ الشيفرة الآتية سلسلة نصية ثم تستخرج صنف الجافا الخاص بها عبر استدعاء الخاصية <code>javaClass‎</code> عبر تلك السلسلة ثم تطبع النتيجة:<syntaxhighlight lang="kotlin">
 
fun main(args: Array<String>) {
fun main(args: Array<String>) {
   var a: String = "hsoub"
   var a: String = "hsoub"
   var JClass_a = a.javaClass
   var JClass_a = a.javaClass
   println(" $JClass_a") // class java.lang.String
   println(" $JClass_a") // class java.lang.String
}
}
</syntaxhighlight>


== ملاحظة ==
== ملاحظة ==
هذه الخاصية صارت مُتجاوزة، قد يكون الأفضل استخدام الخاصية java للواجهة KClass الموافقة لهذا الصنف. يمكنك كذلك تحويل (cast) النسخة إلى Any إن أردت الحصول على صنف الجافا الخاص بتنزيل (implementation) الواجهة KClass أثناء التشغيل.
هذه الخاصية صارت مُتجاوزة، قد يكون الأفضل استخدام الخاصية java للواجهة <code>KClass</code> الموافقة لهذا الصنف. يمكنك كذلك تحويل (cast) النسخة إلى <code>[[Kotlin/Any|Any]]</code>إن أردت الحصول على صنف الجافا الخاص بتنزيل (implementation) الواجهة <code>KClass</code> أثناء التشغيل.
 
المثال التالي يوضح هذه الطريقة:


المثال التالي يوضح هذه الطريقة:<syntaxhighlight lang="kotlin">
fun main(args: Array<String>) {
fun main(args: Array<String>) {
   var a: String = "hsoub"
   var a: String = "hsoub"
   var KClass_a = a::class  //
   var KClass_a = a::class  //
   var JClass_a = KClass_a.java  
   var JClass_a = KClass_a.java  


   println(" $JClass_a") // class java.lang.String
   println(" $JClass_a") // class java.lang.String
}
}
</syntaxhighlight>


== انظر أيضًا ==
== انظر أيضًا ==
* الصنف KClass: يعطيك معلومات إضافية عن صنف معيّن.
* الصنف <code>[[Kotlin/Any|Any]]:</code>الصنف الأعلى لكل أصناف Kotlin.


== مصادر ==
== مصادر ==
* الخاصيةjavaClass ‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.
* [https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.jvm/java-class.html الخاصيةjavaClass ‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin]]
[[تصنيف:kotlin properties]]
[[تصنيف:kotlin properties]]

مراجعة 18:19، 9 مايو 2018

تعطي الخاصية javaClass صنف الجافا الخاص بالكائن الذي استدعيت عبره في وقت التشغيل. هذه الخاصية مُعرّفة على جميع الأصناف المنحدرة من الصنف Any.

البنية العامة

inline val <T : Any> T.javaClass: Class<T>

يُلاحَظ وجود الكلمة المفتاحية inline للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع توثيق الدوال المباشرة (inline functions).

القيم المعادة

صنف الجافا الخاص بالكائن الذي استدعيت عبره في وقت التشغيل.

أمثلة

استخدام الخاصية javaClass‎ على سلسةٍ نصية

تنشئ الشيفرة الآتية سلسلة نصية ثم تستخرج صنف الجافا الخاص بها عبر استدعاء الخاصية javaClass‎ عبر تلك السلسلة ثم تطبع النتيجة:

fun main(args: Array<String>) {
   var a: String = "hsoub"
   var JClass_a = a.javaClass
   println(" $JClass_a") // class java.lang.String
}

ملاحظة

هذه الخاصية صارت مُتجاوزة، قد يكون الأفضل استخدام الخاصية java للواجهة KClass الموافقة لهذا الصنف. يمكنك كذلك تحويل (cast) النسخة إلى Anyإن أردت الحصول على صنف الجافا الخاص بتنزيل (implementation) الواجهة KClass أثناء التشغيل.

المثال التالي يوضح هذه الطريقة:

fun main(args: Array<String>) {
   var a: String = "hsoub"
   var KClass_a = a::class  //
   var JClass_a = KClass_a.java  

   println(" $JClass_a") // class java.lang.String
}

انظر أيضًا

  • الصنف Any:الصنف الأعلى لكل أصناف Kotlin.

مصادر