Lesson 4

بسم الله الرحمن الرحيم 
والصلاة والسلام على سيدنا محمد صل الله عليه وسلم

ان شاء الله النهارده هنتكلم عن ال Access modifier  ونعرف ايه فايدتها وانواعها .
-         Access Modifier : هى عباره عن كلمه بكتبها قبل ال method او ال variable بقدر احدد بيها المدى اللى اللى اقدر اشوفهم  فيه واستخدمهم او اغًير فيهم يعنى اوصل ليهم (Access)، وانواع ال access modifier :
1-   Private: وفى النوع ده مش بقدر اعمل access لأى حاجه إلا من داخل ال Scope بتاعها وناخذ امثله عشان نفهم اكتر.
public Class test {
Private Int number=9;
}
-         والمثال السابق بعرف فيه variable وبعمل ال Access modifier ليه private وبكده ال number مش هقدر اتعامل معاه ولا اوصله إلا من داخل ال test class اللى هو فيها وال class ديه تُعتبر ال scope بتاع ال number.
Private void testMethod(){
System.out.println("Hello world");
}
-         فى المثال السابق :ديه عبارة عن method وفى الجزء التالى من الدرس هنعرف ايه هى ال method ، المهم ان لما اعمل ال method ديه private يبقى مش هقدر اتعامل مع ال method ولا اوصلها إلا من داخل ال class اللى هى فيها وهو ده ال Scope الخاص بال method.
2-   Protected  :
-         اولاً لازم نعرف معلومه مهمه :
فى حاجه اسمها Package فى الجافا وديه عباره عن مجموعه من ال classes وال classes عباره عن methods  و variables  .
هناخد فى المرات القادمه ان شاء الله ال class بالتفصيل لكن المهم دلوقتى اننا نعرف ان ال package فيها مجموعه من ال classes علشان نفهم ايه هو ال protected.

-         ال protected معناه انى لو مثلا هنعمل Variable انه protected يبقى مش هقدر اوصله إلا داخل ال package  اللى هو فيها يعنى اللى يقدر يوصله الclass اللى هو فيها ومجموعه ال Classes الاخرى اللى فى نفس الpackage وديه صوره لتوضيح مكان ال package .

-         وممكن اقدر اعمل package جديده ، يعنى نفهم من كده إنى مش بقدر اوصل لل protected الا من داخل ال package  اللى هو فيها ومش ممكن اشوفه من package  اخرى الا فى حاله واحده بس وهى ان ال class اللى بيحتوى على  Variable protected يكون superclass ل Class اخرى موجوده فى ال package  الاخرى
-         يعنى ايه الكلام ده ؟ فيه حاجه هناخدها فى ال OOP اسمها inheritance يعنى التوريث وديه بتكون عباره عن super class وهى بتكون زى الاب اللى بيوًرث لاولاده صفاته ، والاولاد بيكونوا عباره عن sub classes فالمقصود فى ال protected  ان ما نقدرش نوصلها فى package  تانيه الا لو فى ال package التانيه يوجد sub class وارثه كل صفات ال super class التى تحتوى على ال protected فى الحاله ديه بس اقدر اوصل لل protected من خلال ال sub class ، وال inheritance هنشرحه بتفصيل اكتر لما ندخل فى ال OOP  .

3-    Public: وده نوع مريح جدا بقدر اشوف اى حاجه فى اى class او فى اى package يعنى من الاخر كده فى اى مكان فى ال project  بتاعى.
4-   Default : بقدر اوصل لل Default  من خلال ال package اللى هو فيها بس وديه لو احنا مثلا كاتبين :
Int x=9;
احنا مش كاتبين قبل ال int  اى حاجه ، لو سبناها فاضيه كده الجافا بتفهم انها كده default لكن اى نوع من انواع ال access modifier الاخرى لازم اكتبها قبل ال variable او ال method .
-         نفهم من اللى فات ان ال default عباره عن public بس داخل ال package بتاعتها ، وعباره عن private فى اى package  اخرى .

الجزء الثانى من الدرس هناخد ال method وازاى نقدر نستخدمها :
اولاً: ال method عباره عن مجموعه اوامر بنكتبها  لتنفيذ عمليه معينه .
ثانياً: ال method  ليها حاجات بنكتبها معاها وهى :
1-     Access modifier: وديه زى ما قولنا قبل كده عباره عن ازاى هنقدر نوصل لل method ديه.
2-   Return type: وديه عباره عن نوع الdata اللى هترجع من ال method ديه.
3-   Method name: وده اسم ال method.
4-   Input parameter: وده عباره عن المدخلات للmethod وممكن تكون موجوده او لا وهنفهما فى الامثله اكتر.
5-   Return value: وديه ال data نفسها اللى راجعه من ال method.
ملحوظه :return type, method name, input parameter  دول مع بعض كده اسمهم method signature.
-         يوجد اربع حالات لل method  :
1-   Method with input parameter && with return value :
مثال :


-         وفى المثال ده public int ال public هى ال access modifier وال int هى ال return type ، يعنى اللى هيرجع من ال method ديه عباره عن integer .
-         Sum ده عباره عن اسم ال method .
-         Num1,num2  عباره عن ال input parameters وممكن يكونوا اكتر من اتنين او اقل وديه طريقه تعريفهم اكتب النوع ثم الاسم اللى هستخدمه فى ال method .
-         Return num1+num2 الجمله ديه بتعبر عن ال return value لازم اكتب كلمه return وبعد كده جنبها اى قيمه احنا عايزين نرجعها ولازم يكون نوعها نفس النوع اللى مكتوب فوق جنب ال method وال method ديه وظيفتها تاخد رقميتن وترجع قيمه جمعهم .
2-   Method with input parameter && without return value :
مثال :
-         والمثال ده فيه input parameter اللى هى name ومالوش return value لانه بيطبع hello+name ، ولما تكون ال method مالhod  تكون ال eter && without return typeقه تعريفهم اكتب النوع ثم الاسم اللى هستخدمه فى ال  ملهاش return value بنكتب بعد ال access modifier كلمه void وديه معناها ان ال method  ديه مش هترجع اى قيمه .
3-   Method without input parameter && with return value:
مثال :

-         والمثال ده فيه return value ونوعه int بس مش بياخد اى parameter عشان كده القوسين بتوع ال method اللى اسمها sum() هنلاقيهم فاضين .
4-   Method without input parameter && without return value :
مثال :
والمثال ده لا يحتوى على input parameters ولا يحتوى على return value وظيفته انه بيطبع بس جملة hello world .
- فيه نقطه اخيره وهى بعد ما نعمل اى method  ازاى نستخدمها ؟؟؟
ان شاء الله الدرس القادم هناخد ال class وازاى اتعامل معاها وعن طريق ال class هقدر استخدم ال method .
-         ملحوظه :

فاكرين الشكل ده ؟ ال main  ديه عباره عن method ومالهاش return value عشان كده مكتوب جنبها void وبتاخد input parameter من نوع array string  وال access modifier  بتاعها public يعنى اى مكان فى الproject  ده يقدر يوصل لها ، و static  ان شاء الله فى الدروس القادمه .

-         حل task الدرس السابق :

-         يارب تكونوا استفدوا اى معلومات من الدرس وياريت ما تكتفوش بالدروس ديه بس يعنى لما نشرح موضوع بعد ما تذاكروا الدرس حاولوا تبحثوا عن الموضوع اكتر وان شاء الله توصلوا لمعلومات اكتر تفيدكوا لان اى موضوع بناخده بيبقى فيه معلومات كتير جدا مش بنقدر نقولها كلها فبنفتح الطريق قدامكوا عشان تعرفوا الموضوع بيتكلم عن ايه وبالتالى تقدروا تبحثوا عنه اكتر .
-         ديه فيديو كويسه ممكن تساعدكوا اكتر فى فهم ال Access modifier  :
وطبعا لو اى سؤال او معلومه مش واضحه ابعتوا السؤال فى كومنت على الدرس
ويارب يوفقنا جميعا
السلام عليكم ورحمة الله وبركاته


No comments:

Post a Comment