kotlin

كوتلين – الأساسيات : الدوال Functions

[mhc_section admin_label=”section”][mhc_row admin_label=”row”][mhc_column type=”1_4″][mhc_image admin_label=”صورة” shared_module=”8811″ src=”http://hendiware.16mb.com/wp-content/uploads/2016/10/kotrs.jpg” show_in_lightbox=”off” url_new_window=”off” animation=”off” hoverfx=”none” sticky=”off” image_mask=”off” border_radius=”0″ align=”right” force_center_on_mobile=”on” saved_tabs=”all”] [/mhc_image][mhc_text admin_label=”نص” shared_module=”8810″ saved_tabs=”all” background_layout=”light” text_orientation=”right”]

مقدمة

الثوابت والمتغيرات   

الدوال Functions

الـ Controll Flow


اذا واجهتك أى مشكلة

قم بطرحها فى جروب

Hendiware Developers

[/mhc_text][/mhc_column][mhc_column type=”3_4″][mhc_post_header admin_label=”عنوان المقالة” title=”on” meta=”off” avatar=”on” author=”on” date=”on” categories=”on” comments=”off” views=”off” text_orientation=”right” text_color=”dark” featured_image=”on” featured_placement=”above” parallax=”on” parallax_method=”off” animation=”off” custom_paddings=”40″ size=”30px” title_bold=”on” text_shadow=”off” text_background=”off” text_bg_color=”#ffffff” overlay=”on”] [/mhc_post_header][mhc_text admin_label=”نص” background_layout=”light” text_orientation=”right”]

عندما يكون لديك كود يمكن أن تستخدمه أكثر من مرة لاداء نفس المهمة فان تكرار كتابة الكود يعد أمر فى غاية السوء بالاضافة الى انه مضيعة للوقت لذلك يمكنك كتابة كود معين واعادة استخدامه كما تحب وهذا هو ما يحدث فى الدوال البرمجية

يتم تعريف الدوال فى لغة كوتلين باستخدام كلمة fun وتكون الصيغة كالتالى :

كلمة fun  ثم  اسم الدالة ثم ( ثم الباراميترز ان اردت ثم  ) ثم  (: يليها  الـ return type ) إن وجد

مثال على دالة بسيطة  تطبع كلمة hello world 

مثال على دالة تأخذ باراميتر واحد 

وكما تلاحظ ان البارميتر يكون بالصيغة التالية

اسم البارميتر ثم : ثم نوع الباراميتر 

 

ملحوظة : علامة (:) يطلق عليها الكولن أو colon بالانجليزية

 

ويتم استخدام الدالة باستدعائها بشكل عادى لتشغيلها  كالتالى :

لاحظ انه داخل ملف kt ملف الكوتلين الذى نقوم بالتجربة عليه نضع الكود داخل الميثود fun main وهى تشبه نظيرتها فى الجافا حيث يجب ان يوضع الكود بداخلها لكى يعمل التطبيق  واقصد بالكود استدعاء الدوال والعمليات الاخرى بالتأكيد يمكنك تعريف الدوال خارج الميثود main كالتالى :

 

نقوم الان بتشغيل التطبيق والتجربة

نجد انه تم تشغيل التطبيق بنجاح وطباعة hello world ويليها hello ahmed

 

لكن النتيجة الخاصة بالدالة printHelloWorld ملاصقة لنتيجة الدالة sayHelloTo لاننا استخدمنا الدالة print يمكننا ان نستخدم println وبالتالى سيطبع كل سطر منفصل كالتالى

 

مثال على دالة تعود بنتيجة 

سنقوم بعمل دالة تقوم بجمع 100 على الرقم الذى نعطيه لها وتعود لنا بالناتج لذلك ستكون كالتالى

قمنا بكتابة كلمة fun يليلها اسم الدالة وجعلناها تأخذ الباراميتر number من النوع Int ولاحظ الكولن الاخيرة بعد قوس الباراميترز نوضح بها ان هذه الدالة ستعود بقيمة ونوع القيمة التى ستعود من الدالة هى Int  وبداخل الدالة return ال number مضاف عليه 100 .

الان نقوم بتجربة الدالة

 

الان سنجرب كتابة دالة  تأخذ باراميترين وتقوم بجمعهم والعودة بالناتج

 

الباراميترز الاختيارية  

يمكنك اسناد قيم افتراضية للباراميترز داخل الدوال فى كوتلين وذلك كالتالى :

لاحظ اننا اسندنا قيمة افتراضية للتحية بحيث تكون Hello World فى حالة لم نقم بكتابة شىء كباراميتر للدالة  تعرض افتراضيا  Hello wrold أما فى حالة كتابة ما نريد فانه يقوم بطباعة ما نريد .

 

الدالة ذات السطر الواحد  Inline Function

يمكنك كتابة دالة فى سطر واحد فى الدوال البسيطة مثل دالة جمع رقمين بشكل مختصر كما فى السطر رقم 3  كالتالى :

مثال اخر لكن باستخدام String

 

الـ Extension function 

نوع رائع من الـ functions  يمكنك تعريفه كا امتداد لكلاس النوع الاصلى كما فى هذا المثال

ان هذا الامر يبدو كما لو اننا عرفنا كلاس جديد يرث من النوع Int  واضفنا اليه الميثود الجديدة ثم اى متغير اخر لاحقا سيكون من نوع الكلاس الجديد التى هى عباره عن Int مضاف له ميثود جديدة تقوم بفعل شىء ما

فى السطر قم 3 كتبنا كلمة fun يليها اسم ال function لكن ليس مجردا بل انها لا تصلح للجميع لكن تطبق على ال int  فقط اى Int تكتبه لاحقا ستجد انه يمكنك استخدام الميثود addTo معه حسنا ماذا تفعل هذه الدلة ؟ بكل بساطة تأخذ باراميتر ثم تقوم بجمع هذه الباراميتر على الـ Int التى انبثقت منه كما ترى استخدمنا الكلمة this ثم جمعناها على الرقم .  وعند التجربة وكتابة اى Int وليكن 10 او 4 او 2 مثلا ثم نقطة ستجد انه يمكنك استخدام الدالة addTo  لتضيف رقم لهذا الرقم ليس فقط مع الـ Int بل مع اى كلاس اخر يمثل نوع اخر لفعل ما تريد اطلق خيالك الامر مبهر حقا !

 

الـ infix  form 

يمكن استخدام الدالة  السابقة بشكل مختلف قليلا بحيث تبدو كـ Operator  حيث يمكنك استخدامها بدون . كالتالى

فقط نضيف كلمة infix قبل كلمة fun وسنتمكن من استخدامها كما فى الصورة .

 

 

الدرس السابق 

الدرس التالى

[/mhc_text][/mhc_column][/mhc_row][mhc_row admin_label=”صف”][mhc_column type=”4_4″][mhc_comments admin_label=”تعليقات” show_comments=”on”] [/mhc_comments][/mhc_column][/mhc_row][/mhc_section]
السابق
كوتلين – الأساسيات : الدرس الثانى الثوابت والمتغيرات
التالي
كوتلين – الأساسيات : التحكم بالتدفق Control Flow

اترك تعليقاً

This site uses Akismet to reduce spam. Learn how your comment data is processed.