الرد 360---الأخير الصورة تظهر كرابط وتفتح معي بعد الضغط عليها؟
هل تفتح معكم؟
الرد 360---الأخير الصورة تظهر كرابط وتفتح معي بعد الضغط عليها؟
هل تفتح معكم؟
الان عرفنا كيفية تأسيس فولدر project
ثم عرفنا كيف ننشيء داخله packges
وتحت كل package ممكن يكون هناك عشرات البرامج بامتداد java
وفي كل برنامج جافا قد يكون هناك class أو أكثر
------
التواصل بين الكلاسات المختلفة في باكجات مختلفة هو دور أدوات المرور access-modifiers
رجاء طبقوا اولا بأول ولاتضيعوا هذه الفرصة النادرة,
والدروس الأربعة القادمة لاتتجاوزها نهائيا الابعد فهم 100% لأنها تأتي في قلب الجافا java core
. .
.
.
الدرس 0018: many classes inside single java program
عدة كلاسات داخل برنامج واحد--وضع طبيعي ان جميع هذه الكلاسات تحت نفس البكج.
اسفل خمسة كلاسات
0-كلاس رئيسي باسم mainClass والذي يعبر عن الموقف الذي نحن فيه (فيه أدوات المرور للكلاسات الأربعة الأخرى.
1- كلاس باسم C1 المتغير x1 بداخله public
2- كلاس باسم C2 المتغير x2 بداخله لاشيء
3- كلاس باسم C3 المتغير x3 بداخله protected
4- كلاس باسم C4 المتغير x4 بداخله private
انظر للصورة:
الملف المرفق 521581
كما ترى الكلاسات داخل نفس البرتامج يمكن ان تتواصل دون قيود الا اذا كان المتغير من نوع private -- لايمكن للكلاسات الاخرى ان تمر للمتغير x4 في الكلاس C4 بطريقة مباشرة
طريقة مباشرة يعني: خلق اوبجكت ثم نقطة ثم اسم المتغير
لايمكن لاي كائن ان يرى المتغير x4 الا اذا كان هذا الكائن مخلوقا داخل كلاس C4 نفسها.
انتهى الشرح للحالة الأولى.
ففي المثال اعلاه فإن puplic-protected-لاشيء نفس الشيء ولافرق بينها
الدرس 0019: حل مشكلة private في الدرس السابق
اذن طالما لايمكن مباشرة, هناك الاسلوب غير المباشر نظام setter-getter وبالتالي الاستدعاء يتم من خلال دالة.
دالة set لتعديل القيمة
ودالة get لاستدعاء القيمة وتكون هذه الدوال داخل C4 لمنع الاخرين من تغيير نظام هذا ال Class
في امثلة دوكاسكوبي المكثفة في ردود اول 15 صفحة اذا تلاحظ اكثر المتغيرات private
الملف المرفق 521582
لاحظ ال mainClass اعلاه لا تعلم ان هناك متغير Fields اسمه x4 ولكن تعرف دالة اسمها getX4 تحضر قيمته.
ولكنها تعلم ان هناك متغيرات اسمها x1-x2-x3 والدليل انك تراها في المين كلاس باللون الأزرق داخل أدوات الطباعة println
يسمى اخفاء المعلومات الحساسة هذه في الجافا باسم الـ encapsulation
الدرس 0020: program in the same package (برامج الجافا في نفس البكج)
ينطبق عليه ما ينطبق على الحالة السابقة اي متغير private لايمكن مباشرة استدعاءه باسم المتغير بل لابد من دوالز
الملف المرفق 521626
انظر للصورة: البرنامجين الرئيسيين في الصورة السابقة تحت نفس البكج yourPackage_03
الملف المرفق 521629
و mainClass ترى عليها اكس احمر صغير بسبب الخطأ في البرنامج وهو استدعاء d4 مباشرة
العلاج: اما تجعل d4 مثل أي من الثلاثة الأخرى وهكذا خالفت هدفك من إخفاء التحكم فيه
او تستخدم دوال setter-getter وهو المطلوب.
حديث مكثف عن دوال setter-getter في الموضوع المتقدم الذي طرحناه امس عن "السوينقات" في الجافا
لا لم يبلغوني بذلك ، ولكن طالما والمشكلة مازالت قائمة نستنتج من ذلك انها مازالت خارج النطاق الى ان يتم حلها،، أنا فقط تواصلت مع الأستاذة رانيا ولكنها يبدو لم تقراء مشاركتي عن ذلك،
أنا لا اعرف من المسؤول التقني هنا في المنتدى والا تواصلت معه، اذا تعرف من المسؤول ممكن نبلغه بذلك،لان مشكلة عدم ظهور بعض الصور ، يبقى الموضوع ناقص...
صور الدروس من 1 الى 4
الدرس الأول:
http://7eznah.net/upfiles/lwq74585.png
الدرس 2:
http://7eznah.net/upfiles/ywo74585.png
الدرس 3:
http://7eznah.net/upfiles/w2b74585.png
الدرس 4:
http://7eznah.net/upfiles/vzp74585.png
صور الدروس من 5 الى 8
الدرس 5
http://7eznah.net/upfiles/aa174798.png
الدرس 6
http://7eznah.net/upfiles/m9a74798.png
الدرس 7
http://7eznah.net/upfiles/bfy74798.png
الدرس 8: لايوجد صورة
الدرس 9:
http://7eznah.net/upfiles/lqf74798.png
صور الدروس من 10 الى 12
الدرس 10:
http://7eznah.net/upfiles/h6j75246.png
الدرس 11:
http://7eznah.net/upfiles/src75246.png
الدرس 12: صورتين:
http://7eznah.net/upfiles/qjt75246.png
http://7eznah.net/upfiles/ttm75246.png