التصريح بالدوال
المعاملات وأنواع الإرجاع والقيم الافتراضية
التصريح بالدوال درس مجاني في Android Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Android Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Android Academy 4 دروس في المجموع.
ما الدالة؟
الدالة هي كتلة مسماة من التعليمات البرمجية يمكنك تشغيلها مرارًا وتكرارًا. وبدلًا من تكرار الأسطر، تستدعي الدالة باستخدام اسمها.
في Kotlin، تعلن عن دالة باستخدام الكلمة المفتاحية fun، متبوعةً باسم وزوج من الأقواس.
دالتك الأولى
إليك دالة بسيطة تُسمى greet. يوجد جسم الدالة داخل الأقواس المعقوفة { }.
نستدعيها من main بكتابة اسمها متبوعًا بالأقواس: greet().
fun greet() {
println("Hello, Kotlin!")
}
fun main() {
greet()
}المعاملات
يتيح لك المعامل تمرير البيانات إلى دالة. اكتب الاسم ثم نقطتين ثم النوع داخل الأقواس.
يعني name: String أدناه أن الدالة تتوقع قيمة نصية.
fun greet(name: String) {
println("Hello, " + name + "!")
}
fun main() {
greet("Ada")
greet("Sam")
}معاملات متعددة
يمكن للدالة أن تستقبل أكثر من معامل واحد. افصل بين المعاملات باستخدام الفواصل.
يستقبل add هنا قيمتين من النوع Int ويطبع مجموعهما.
fun add(a: Int, b: Int) {
println(a + b)
}
fun main() {
add(3, 4)
}إرجاع قيمة
يمكن للدوال إرجاع نتيجة. اكتب نوع الإرجاع بعد الأقواس مسبوقًا بنقطتين، ثم استخدم return.
يمكن للمستدعي تخزين النتيجة في متغير.
fun square(n: Int): Int {
return n * n
}
fun main() {
val result = square(5)
println(result)
}نوع الإرجاع Unit
عندما لا تُرجع الدالة شيئًا مفيدًا، يكون نوعها Unit. وعادةً ما تحذف هذا النوع.
يعني التصريحان التاليان الشيء نفسه:
fun log() { }fun log(): Unit { }
الدوال ذات التعبير الواحد
إذا كانت الدالة تُرجع تعبيرًا واحدًا فقط، فيمكنك استخدام الصيغة المختصرة = وحذف الأقواس المعقوفة وreturn.
ويمكن لـ Kotlin حتى استنتاج نوع الإرجاع نيابةً عنك.
fun double(x: Int) = x * 2
fun main() {
println(double(8))
}القيم الافتراضية للمعاملات
يمكنك إعطاء المعامل قيمة افتراضية. وإذا حذفها المستدعي، فستُستخدم القيمة الافتراضية.
يحول ذلك دون كتابة إصدارات محمّلة بشكل زائد كثيرة من الدالة نفسها.
fun greet(name: String = "friend") {
println("Hi, " + name)
}
fun main() {
greet()
greet("Lee")
}المعطيات المسماة
عند استدعاء دالة، يمكنك تسمية المعطيات. يجعل ذلك الاستدعاء أوضح، ويتيح لك تمرير المعطيات بأي ترتيب.
تكون المعطيات المسماة مفيدة مع القيم الافتراضية.
fun box(width: Int = 1, height: Int = 1) {
println(width * height)
}
fun main() {
box(height = 5)
}استدعاء الدوال لدوال أخرى
يمكن لدالة أن تستدعي دالة أخرى. يتيح لك ذلك تقسيم المهمة الكبيرة إلى أجزاء صغيرة قابلة لإعادة الاستخدام.
تستدعي main هنا الدالة average، التي تستدعي بدورها add.
fun add(a: Int, b: Int): Int = a + b
fun average(a: Int, b: Int): Int = add(a, b) / 2
fun main() {
println(average(10, 20))
}أهمية الدوال
تحافظ الدوال على أن تكون شيفرتك منظمة وملتزمة بمبدأ DRY (لا تكرر نفسك).
- تمنح جزءًا من المنطق اسمًا واضحًا.
- تتيح إعادة استخدامه دون نسخ الشيفرة.
- تسمح بإصلاح الخطأ في موضع واحد فقط.
ستكتب الدوال باستمرار في تطبيقات Android.
اختبار سريع
اختبر فهمك لكيفية التصريح بالدوال.
مراجعة
تعلّمت التصريح بالدوال باستخدام fun، وتمرير المعاملات، وإرجاع القيم.
كما تعرّفت إلى الصيغة المختصرة للتعبير الواحد، والقيم الافتراضية للمعاملات، والمعطيات المسماة. ستتعلّم بعد ذلك تجميع البيانات والسلوك معًا باستخدام الفئات.
الأسئلة الشائعة
هل درس «التصريح بالدوال» مجاني؟
نعم — نص درس «التصريح بالدوال» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Android Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Android Academy 4 دروس في المجموع.
ماذا ستتعلم في «التصريح بالدوال»؟
المعاملات وأنواع الإرجاع والقيم الافتراضية تتمرن على Android Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Android Academy؟
لا تُشترط خبرة سابقة. Android Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.
كم من الوقت يستغرق درس «التصريح بالدوال»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Android Academy هذا؟
نعم. كل درس في Android Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- التصريح بالدوال
- الفئات والخصائص
- البُناة وinit
- فئات البيانات