منتدي حضن الغريب
أهلا وسهلا بك ضيفنا الكريم، إذا كانت هذه زيارتك الأولى للمنتدى، فيرجى التكرم
بالتسجيل ،أما إذا رغبت بقراءة المواضيع والإطلاع فتفضل بزيارة القسم الذي ترغب أدناه.
وجميع الروابط بالمنتدى متاحة اليك حتى لانضغط على احد بالتسجيل واذا اعجبك منتدنا
فانضم الينا وشكرا لكم جمعيا زورنا الكرام
منتدي حضن الغريب
أهلا وسهلا بك ضيفنا الكريم، إذا كانت هذه زيارتك الأولى للمنتدى، فيرجى التكرم
بالتسجيل ،أما إذا رغبت بقراءة المواضيع والإطلاع فتفضل بزيارة القسم الذي ترغب أدناه.
وجميع الروابط بالمنتدى متاحة اليك حتى لانضغط على احد بالتسجيل واذا اعجبك منتدنا
فانضم الينا وشكرا لكم جمعيا زورنا الكرام
منتدي حضن الغريب
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

منتدي حضن الغريب


 

التسجيلالتسجيل  الرئيسيةالرئيسية  أحدث الصورأحدث الصور  دخولدخول  

 

 سلسلة دروس الجافا الدرس السادس عشر

اذهب الى الأسفل 
كاتب الموضوعرسالة
nsrbulhmd
المدير العام
المدير العام
nsrbulhmd


الجنس : ذكر
عدد الرسائل : 1282
تعاليق : عندما تنتقد أحداً فبعين النحل تعود أن تـُبصـِر
ولا تنظـُر للناس
بعين الذباب فتقع على ماهو مُستقذِر
و سأحكي لك قصه العنزة والذئب حتى لا
تأمن من يـُمكِر
وحينما يثق بك أحد فإياك ثم إياك أن تـُغدِر


تاريخ التسجيل : 09/02/2009

الاضافات
منتدنا على الفيس بوك:

سلسلة دروس الجافا      الدرس السادس عشر Empty
مُساهمةموضوع: سلسلة دروس الجافا الدرس السادس عشر   سلسلة دروس الجافا      الدرس السادس عشر Icon_minitime1الثلاثاء 24 مارس 2009, 8:38 pm

[size=24]
السلام عليكم ورحمة الله وبركاته..





في الدرس السابق قمنا بعمل مهم جداً. و سنقوم اليوم بنفس العمل و لكن بطريقة أسهل.
باستخدام مفهوم الـ Constructor.




أرجو أن تقوم بقراءة المقدّمة على الأقل من
الدرس السابق (إن لم تكن فعلت) و الأفضل أن تطلع عليه بأكمله حتى تكون على علم بما
نفعله هنا.


سلسلة دروس الجافا      الدرس السادس عشر Title_right سلسلة دروس الجافا      الدرس السادس عشر Spaceتمهيد سلسلة دروس الجافا      الدرس السادس عشر Title_left






لننظر إلى هذه البرامج الثلاثة سابقة الذكر و الشرح في الدرس السابق :



لقد قمنا بتعريف فئة النقطة في
الدرس السابق بهذا الشكل:
<blockquote>
سلسلة دروس الجافا      الدرس السادس عشر L15_point01</blockquote>




ان تعريف لفئة النقطة بهذا الشكل يجعلها تواجه
مشكلة. و هي أننا نضطر لإعطاء قيماً لمتغيراتها x و
y بشكل يدوي في الفئات الأخرى التي تستخدمها و تستدعيها.
كما فعلنا في هذه الخطوات من فئة Painter:

<blockquote>
سلسلة دروس الجافا      الدرس السادس عشر L15_painter01p4</blockquote>


إذا نحن بحاجة لوسيلة تجعلنا أثناء تكوين
أي عضو من فئة النقطة Point أن نعطي قيماً لمتغيراته.
ما أقصده بالتكوين هو هذه الجملة:


<blockquote>
سلسلة دروس الجافا      الدرس السادس عشر L16_new
</blockquote>




إن عبارة
سلسلة دروس الجافا      الدرس السادس عشر L16_new1
تعني أننا سنقوم باستخدام بتكوين عضو فعلي من فئة النقطة
Point. هممو لكن ألا تلاحظون شيئاً؟.. لاحظو معي أن
سلسلة دروس الجافا      الدرس السادس عشر L16_new2
اسم الفئة نفسه يليه قوسان. و هذا ما يعرف بالـ Constructor.
وهو عبارة عن طريقة التكوين التي يتم بها انشاء العضو من الفئة.


سلسلة دروس الجافا      الدرس السادس عشر Title_right سلسلة دروس الجافا      الدرس السادس عشر Spaceكيف نقوم بإعادة تعريف الConstructor؟ سلسلة دروس الجافا      الدرس السادس عشر Title_left






إن سلسلة دروس الجافا      الدرس السادس عشر L16_new2 يعرف باسم: Default Constructor. و هي الذي توفره أي فئة
موجودة في الآلة التخيلية. و لا يحتاج المبرمج لتعريفه و لا للإشارة إليه.






و يمكن للمبرمج إذا أراد أن يقوم بتعريف الـ Constructor
الذي يريده. لنفرض مثلاً في فئة النقطة. أننا أردنا يقوم المبرمج بتمرير قيماً
صحيحة للمتغيرين x و y أثناء
تكوين العضو من فئة النقطة Point. أي لنفرض أنه أراد أن
يكتب هذه الجملة:

سلسلة دروس الجافا      الدرس السادس عشر L16_niceway




بدلاً من هذه الطريقة:

سلسلة دروس الجافا      الدرس السادس عشر L16_badway




الطريقة الأولى طريقة لطيفة أليس كذلك؟ أفضل و اسهل عند استخراج
الأعضاء من فئة النقطة.



لنتأمّل الكود التالي الجديد لفئة النقطة نفسها:

<blockquote>

سلسلة دروس الجافا      الدرس السادس عشر L16_point02</blockquote>




لاحظ السطر 6. ستجد أننا كتبنا كوداً قد يبدو
عجيباً للوهلة الأولى:

<blockquote>

سلسلة دروس الجافا      الدرس السادس عشر L16_constructor</blockquote>




نلاحظ أننا كتبنا اسم الفئة، و هي في حالتنا
Point، ثم فتحنا أقواساً. و في داخل الأقواس قمنا بتعريف
سلسلة من المتغيرات تفصل بينهما الفاصلة (,).





من الضروري جداً جداً أن نكتب سلسلة المتغيرات
بترتيب محدد. أي أننا نقوم بتوقع الاحداثي السيني، ثم الاحداثي الصادي و ليس العكس.

<blockquote>
سلسلة دروس الجافا      الدرس السادس عشر L16_cons</blockquote>





لاحظ في نهاية السطر السادس يوجد قوس مجموعة.
مما يعني أننا سنقوم بكتابة بعض الكود و لا تنس أن تغلق قوس المجموعة بعد الانتهاء
من كتابة ما تريد.



والآن لننظر إلى داخل الـ Constructor.
ما الذي قمنا بتعريفه. في السطر 7 و 8. نلاحظ أننا أخذنا القيم من المتغيرات التي
مررت لنا عبر تكوين العضو، و وضعناها في المتغيرات الخاصة بالعضو.



المتغيرات الممررة xx
و yy هي متغيرات مؤقتة. تنتهي بمجرد الانتهاء من تكوين
العضو (و الوصول لقوس المجموعة الموجود في السطر التاسع. و لعلنا نفصّل في هذا أكثر
في درس الوظائف ان شاء الله.





نقطة توقف..
عندما تحدثنا عن الـ
Constructor الافتراضي. و قلنا أنه يتوفّر بشكل
افتراضي لأي فئة. فإن ذلك يتم إذا كانت الفئة لا تحتوي على
Constructor أما اذا قام المبرمج بتعريف
Constructor خاص به، فإن الـ Constructor
الافتراضي أو default constructor ذو القوسين
الفارغين لا يتم ايجاده. أي أن عبارة
سلسلة دروس الجافا      الدرس السادس عشر L16_new
ستنتج خطأً في الترجمة. ذلك أن الconstructor
الموجود يختلف في عدد المتغيرات الممررة عن
سلسلة دروس الجافا      الدرس السادس عشر L16_new2. إذا رغب المبرمج في
constructor ذو سلسلة متغيرات ممررة فارغة مثل:
سلسلة دروس الجافا      الدرس السادس عشر L16_new2،
فعليه أن يكتبه بنفسه.
يمكن للفئة أن يكون
لها أكثر من constructor. كل منهم يختلف عن
الآخر في عدد أو نوع المتغيرات في السلسلة الممررة لكل منهم، أو كلاهما.



سلسلة دروس الجافا      الدرس السادس عشر Title_right سلسلة دروس الجافا      الدرس السادس عشر Spaceالبرامج مرة أخرى سلسلة دروس الجافا      الدرس السادس عشر Title_left








آن و قد تعلمنا الـ constructors.
نستطيع كتابة البرامج الموجودة في الدرس السابق بشكل أفضل مما سبق. فبرنامج النقطة سيكون بهذا الشكل كما كتبناه معاً قبل قليل:


<blockquote>
سلسلة دروس الجافا      الدرس السادس عشر L16_point02</blockquote>

تيبع الدرس السادس عشر
الرجوع الى أعلى الصفحة اذهب الى الأسفل
https://nasserstar.ahlamontada.com
 
سلسلة دروس الجافا الدرس السادس عشر
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1
 مواضيع مماثلة
-
» سلسلة دروس الجافا الدرس السادس
» سلسلة دروس الجافا الدرس الثالث
» سلسلة دروس الجافا الدرس السابع عشر
» سلسلة دروس الجافا الدرس الرابع
» سلسلة دروس الجافا الدرس الثامن عشر

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
منتدي حضن الغريب :: منتدى البرامج والكمبيوتر والحماية والماسنجر :: قسم الكمبيوتر والحماية والهواتف والشفرات-
انتقل الى: