نتائج البحث

اذهب إلى التنقل اذهب إلى البحث

الأصناف (Classes) والوراثة (Inheritance) في لغة Kotlin

تُستخدم الكلمة المفتاحيّة class للتصريح (declaration) عن الصنف بالصيغة الآتية (اسم الصنف Invoice): class Invoice { } ويحتوي التصريح على اسم الصنف (class name) وترويسة الصنف (class header) (والتي تُحدِّد معاملات النوع والباني الأساسيّ ...إلخ.) وبُنية الصنف (class body) محاطةً بالقوسين {}، وإن كلًا من ترويسة الصنف وبُنيته اختياريتان؛ فإذا كان الصنف خاليًا لا حاجة للأقواس، مثل: class Empty الباني (Constructor) يوجد لكلّ صنف في لغة Kotlin بانٍ رئيسيّ (primary) واحدٌ وبانٍ -أو أكثر- ثانويّ (secondary)، إذ يُعدُّ الباني الرئيسيّ جزءًا من ...

التوصيفات (Annotations) في لغة Kotlin

التصريح عن التوصيف (Annotation Declaration) تُعدُّ التوصيفات إحدى الوسائل لإضافة بياناتٍ توصيفيّةٍ (metadata) إلى الشيفرة، وللتصريح عن التوصيف يُضاف المُحدِّد annotation قبل اسم الصنف، مثل: annotation class Fancy وقد تُحدَّد بعض خواصّ التوصيفات (annotation attributes) باستخدام التوصيفات الآتية (meta-annotations) لتوصيفات الصنف: ‎@Target لتحديد نوع العناصر التي يمكن توصيفها مثل الأصناف (classes) والدوال (functions) والخاصّيّات (properties) والتعابير (expressions) و... إلخ. ‎@Retention لتحديد فيما إن كان التوصيف مُخزَّنًا في ملفات الأصناف المُترجَمة، أو مرئيًا عبر انعكاسٍ (reflection) أثناء التنفيذ (runtime) (وكلاهما محقُّق بالحالة ...

الصنف ‎‎StringBuilder‎ في Kotlin

actual typealias StringBuilder = StringBuilder منصة التشغيل والإصدار المطلوبان: JVM ،Kotlin 1.1 actual class StringBuilder : Appendable, CharSequence منصة التشغيل المطلوبة: JS. الدوال البانية (Constructors) <init> تنشئ الدالة StringBuilder()‎ كائنًا من النوع StringBuilder. الخاصيات length تمثل هذه الخاصية حجم الكائن StringBuilder (عدد محارفه) الذي استدعي معها. الدوال append تضيف هذه الدالة محرفًا أو سلسلة نصية أو أيَّ كائن آخر إلى الكائن StringBuilder. get تجلب هذه الدالة محرفًا ذا فهرس محدَّدٍ من سلسلة محارف الكائن StringBuilder. reverse تعكس هذه الدالة ترتيب محارف الكائن StringBuilder. subSequence تقتطع هذه الدالة جزءًا محددًا من سلسلة محارف الكائن StringBuilder وتعيدها. toString تحول هذه ...

الصنف ‎‎StringBuilder‎ في Kotlin

actual typealias StringBuilder = StringBuilder منصة التشغيل والإصدار المطلوبان: JVM ،Kotlin 1.1 actual class StringBuilder : Appendable, CharSequence منصة التشغيل المطلوبة: JS. الدوال البانية (Constructors) <init> تنشئ الدالة StringBuilder()‎ كائنًا من النوع StringBuilder. الخاصيات length تمثل هذه الخاصية حجم الكائن StringBuilder (عدد محارفه) الذي استدعي معها. الدوال append تضيف هذه الدالة محرفًا أو سلسلة نصية أو أيَّ كائن آخر إلى الكائن StringBuilder. get تجلب هذه الدالة محرفًا ذا فهرس محدَّدٍ من سلسلة محارف الكائن StringBuilder. reverse تعكس هذه الدالة ترتيب محارف الكائن StringBuilder. subSequence تقتطع هذه الدالة جزءًا محددًا من سلسلة محارف الكائن StringBuilder وتعيدها. toString تحول هذه ...

Kotlin/Topics

بُنية لغة Kotlin مشابهةٌ لبنية لغة البرمجة Java بوصفها كائنيّة التوجه (OOP)، وبالتالي فهي تعتمد أساسًا على وجود الأصناف (classes) التي تحتوي بدورها على الخاصّيّات (properties) والدوال (functions)، كما وتدعم Kotlin العلاقات فيما بينها مثل الوراثة (inheritance) من صنفٍ أعلى (superclass) أو التداخل فيما بينها (nesting classes)، وتمتاز بوجود مُحدِّدات الوصول (visibility modifiers) للتحكم بعمليات الوصول للبيانات المُخزَّنة، وكذلك فهي تعتمد في بُنيتها على الحزم (packages) والمكتبات (libraries) التي تحتوي على الدوال المساعدة عند الحاجة إليها، أمّا عن بُنية التعليمات ...

التهيئة الأولية للصنف ‎‎Any‎ في Kotlin

تعيد الدالة Any()‎ نسخةً من الصنف Any والذي هو الجذر الرئيسيّ في الهرميّة العامّة لأيّ صنفٍ مُستخدَمٍ أثناء البرمجة في Kotlin؛ أي أنّ كلَّ صنفٍ سيكون له الصنف الأعلى (superclass)‏ Any. البنية العامة Any() القيم المعادة يعاد كائنٌ (object) من الصنف Any. أمثلة تنشِئ الدالة Any()‎ في الشيفرة الآتية كائنًا من الصنف Anyباسم obj ، ثم يُحدِّد صنف الكائن المُنشَأ وذلك بالاعتماد على خاصيّة الاسم البسيط للصنف (وهي class.simpleName) : fun main(args: Array<String>) {    val obj = Any()    println(" ${obj::class.simpleName}")  // Any } انظر ...

التهيئة الأولية للصنف ‎‎Any‎ في Kotlin

تعيد الدالة Any()‎ نسخةً من الصنف Any والذي هو الجذر الرئيسيّ في الهرميّة العامّة لأيّ صنفٍ مُستخدَمٍ أثناء البرمجة في Kotlin؛ أي أنّ كلَّ صنفٍ سيكون له الصنف الأعلى (superclass)‏ Any. البنية العامة Any() القيم المعادة يعاد كائنٌ (object) من الصنف Any. أمثلة تنشِئ الدالة Any()‎ في الشيفرة الآتية كائنًا من الصنف Anyباسم obj ، ثم يُحدِّد صنف الكائن المُنشَأ وذلك بالاعتماد على خاصيّة الاسم البسيط للصنف (وهي class.simpleName) : fun main(args: Array<String>) {    val obj = Any()    println(" ${obj::class.simpleName}")  // Any } انظر ...

سحب متن المُنشِئ لأعلى (Pull Up Constructor Body)

المشكلة تحتوي الأصناف الفرعية على مُنشِئات لها شيفرة متطابقة في أغلبها. الحل إنشاء مُنشئ صنف أب ونقل الشيفرة المماثلة في الأصناف الفرعية إليه. استدعاء مُنشئ الصنف الأب في مُنشِئات الصنف الفرعي. مثال قبل إعادة التصميم احتواء الصنف الفرعي Manager المشتق من الصنف Employee على منشئ متطابق بنسبة كبيرة: في لغة Java: class Manager extends Employee { public Manager(String name, String id, int grade) { this.name = name; this.id = id; ...

استبدال المُنشئ بتابع التصميم (Replace Constructor with Factory Method)

المشكلة لديك مُنشئ (constructor) معقد يقوم بما هو أكثر من مجرد وضع قيم المعامل في حقول الكائن. الحل إنشاء تابع تصميم واستخدامه لاستبدال استدعاءات المُنشئ. مثال قبل إعادة التصميم وجود منشئ معقد للصنف Employee: في لغة Java: class Employee { Employee(int type) { this.type = type; } //... } في لغة C#‎: public class Employee { public Employee(int type) { this.type = type; } //... } في لغة PHP: class ...

التهيئة الأولية عبر التابع StringBuilder.Init()‎ في لغة Kotlin

ينشِئ التابع StringBuilder()‎ كائنا من النوعStringBuilder. البنية العامة StringBuilder(capacity: Int) StringBuilder(content: CharSequence) StringBuilder() StringBuilder(content: String = "") القيم المعادة كائن من النوعStringBuilder. أمثلة استخدام التابع StringBuilder()‎ ينشِئ التابع StringBuilder()‎ في الشيفرة الآتية كائنًا من النوع StringBuilderباسم sb، بتمرير السلسلة النصية "hsoub": fun main(args: Array<String>) { val sb = StringBuilder("hsoub") println(sb) // => hsoub } انظر أيضًا صفحة الصنف StringBuilder. الأصناف والبواني (constructors) في لغة Kotlin. مصادر التهيئة الأوليّة عبر التابع StringBuilder.Init()‎ في التوثيق الرسميّ ...

عرض (20 السابقة | 20 التالية) (20 | 50 | 100 | 250 | 500).