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

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


 

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

 

 تابع الدرس السادس عشر

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


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


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

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

تابع الدرس السادس عشر Empty
مُساهمةموضوع: تابع الدرس السادس عشر   تابع الدرس السادس عشر Icon_minitime1الثلاثاء 24 مارس 2009, 8:58 pm



لنحاول أن نكتب برنامج الخط المستقيم بنفس
الطريقة. بأن نقوم بتجهيز constructor خاص به، هكذا:



<blockquote>
تابع الدرس السادس عشر L16_line</blockquote>





نلاحظ أننا استخدمنا نفس المفهوم. قمنا بتعريف
constructor له متغيرين في سلسلة التمرير
parameter list من نوع Point.




والآن لنلق نظرة على الفئة Painter:



تابع الدرس السادس عشر L16_painter



لندرس معاً الأسطر من 5 إلى 8:


<blockquote>
تابع الدرس السادس عشر L16_line12</blockquote>




قليل من التركيز من فضلك. فالآن المرحة الحرجة
التي نقوم فيها بتطبيق ما قمنا بالتجهيز له مع بداية الدرس.




السطر 5، نقوم فيه بتعريف أو اشهار اثنين من
المتغيّرات من نوع Line. اسم الاول line1
و الثاني line2.




في السطر 7 نقوم بعدة خطوات. انظر الشكل:



<blockquote>
تابع الدرس السادس عشر L16_explain</blockquote>




لنذهب إلى الخطوة رقم 1 و التي تجدون بجانبها
رقمين 10 و 10, هما الاحداثيين السيني و الصادي للخط الأول. الآن نريد أن نكوّن
منهما نقطة.



لننتقل للمرحلة رقم 2. و التي تجدون بجانبها هذه
الجملة
تابع الدرس السادس عشر L16_new3
و هي تعني أننا سنقوم بتكون عضو في الذاكرة من نوع Point.
و لأن فئة النقطة Point توفر constructor
يأخذ رقمين صحيحن من نوع int أثناء تكوين العضو. فأصبح
بإمكاننا الآن وضع الرقمين 10 و 10 في الأماكن المشار لها بالأسهم.




حسناً رائع جداً. والآن لننزل إلى السطر
نفسه (سبب البلاوي اللي نحن فيها من الصبح هاهاهاهاها).



<blockquote>
تابع الدرس السادس عشر L16_line1</blockquote>





حسب تعريف الـ constructor
الموجود في الفئة Line ما نوع المتغير المتوقّع هنا؟
Point. فعلاً. و هذا بالضبط ما فعلناه. قمنا بوضع العضو
الذي استخرجناه في الخطوة 2 في المكان الذي يفترض أن يكون فيه متغير من نوع نقطة.







نقطة توقف..
سيتساءل بعضكم هنا.
لماذا لم نقم بتعريف متغير من نوع نقطة Point
هكذا:<blockquote>
تابع الدرس السادس عشر L16_pointag
</blockquote>

لنسأل أنفسنا. ما
الاستخدام الذي سنستخدم فيه المتغير في هذه الحالة؟ اننا نريد أن نمرره عبر
constructor الخط المستقيم. و لن نقوم باستخدامه
بعد ذلك أبداً. إذا في المسألة حجز لموارد النظام. لأننا نريد تمرير القيمة
التي سيتم تخزينها في عضو آخر (وهو العضو الفعلي الموجود في فئة الخط
المستقيم Line.
حتى تتوضح المسائل
أكثر. سنقلب المسألة. تخيل أن لدي خطاً مستقيماً فيه عضوين من فئة النقطة
Point. و لكن لم يتم تحديد قيمهما بعد.
فهل الأفضل أن أقوم
بإنشاء عضوين حقيقين ثابتين، و أمرر قيمهما إلى الأعضاء في الخط المستقيم.
أم أنشئ عضوين مؤقتين، ينتهي دورهما بمجرّد تمرير القيم؟
أتصور أن الحل
الثاني هو الأنسب. و هذا ما فعلناه فعلاً. قمنا بانشاء الأعضاء داخل
استدعاء constructor الـ Line،
و بمجرّد أن تمرر قيمتهما، لن يبقى لهما وجود. و هكذا نحافظ على مصادر
النظام في الذاكرة.
من الممكن طبعاً
استخدام الطريقة الأولى، و لكن الطريقة الثانية عادة برمجية محمودة.



وطبعاً في نهاية البرنامج و في
الأسطر من 10 إلى 20 نفس أوامر الطباعة التي ذكرناها في الدرس
السابق.



تابع الدرس السادس عشر Title_right تابع الدرس السادس عشر Spaceملاحظات مهمة تابع الدرس السادس عشر Title_left








  • يمكن تعريف الكونستراكتور بحيث يكون فارغاً من الكود. بل
    قد تكون لديك أسباب لذلك.
  • إذا قمت بتعريف constructor
    خاص بك، فأنك تفقد الـ constructor الافتراضي، فإذا
    أردت أن تحتفظ به، عليك أن تقوم بكتابته يدوياً.
  • يمكن أن يكون لنفس الفئة أكثر من Constructor
    يختلفون في أعداد أو أنواع المتغيرات في سلسلة المتغيرات الممررة لهم، أو كلاهما.
  • شكل الـ Constructor قد يشبه
    شكل الوظيفة، و لكن تذكّر دائماً. اسم الـ Constructor
    هو نفس اسم الفئة، و لا يوجد له نوع بعكس الوظيفة.
  • إن عمل new هو انشاء العضو من
    الـ constructor المناسب. فإذا لم يوجد
    constructor في الفئة. تقوم new
    باستخدام الـ constructor الافتراضي :-)




أرجو أن يكون الدرس واضحاً :-)



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

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