النتائج 331 إلى 345 من 378
- 13-03-2020, 11:26 AM #331
أخي سلمان العتيبي
ما شاء الله تبارك الله عليك
ألف تحية وشكر لك على مجهوداتك الكبيرة
جعلها الله في ميزان حسناتك
- 13-03-2020, 08:19 PM #332
واياك اخي روماريو
--
اذا تلاحظ اكثر الردود تكرار لكلمة زراعة الثقة -- او النصيحة بالفهم السطحي وعدم التعمق والصداع
مع التطبيق الحي للغة صعبة مع منصة صعبة تكتسب الجرأة والاستهتار بهذه الصعوبة وتمشي الأمور
--
امثلة تطبيقية كثيرة يكفي ان تفهمها رُبع فهم الان!
ليش: لأنك أساسا عندك حاجز نفسي مع الجافا فما بالك باستخدامها في تطبيقات حية مع منصة صعبة لم نتعود عليها.
كل مثال تطبقه ولو بشكل اعمى, كسر للصنم!
تحققت هذه الثقة بكسر حاجز الصعوبة--ممكن الواحد بعد ذلك يدرسها منهجيا وعلى طريقة الهنود--نوابغ تعليم---كل درس فكرة واحدة (راجع منتدياتهم البحتة - حيث ان الهنود افضل شعوب الأرض طرحا في المنتديات)
يعني ممكن تلقى 5000 درس بسبب ان هناك 5000 فكرة في حقل محدد!آخر تعديل بواسطة سلمان_العتيبي ، 13-03-2020 الساعة 08:22 PM
- 13-03-2020, 09:37 PM #333
التعليم على طريقة الهنود:
الدرس 0001:
اي برنامج جافا سواء كان 120000سطر برمجي او كان اقل شي, يعني لايوجد فيه الا الدالة الرئيسية public static void main(String[] args) عبارة عن class
وهذا الـ class الذي يحتوي الدالة الرئيسية main يجب أن يكون من نوع public وبالتالي يحفظ اسم البرنامج باسمه بامتداد *.java وبعد الكمبلة النسخة التنفيذية منه تصبح بامتداد *.class
في الميتا *.mt4 تصبح *.ex4
اسفل الصورة--برنامج كامل وصحيح.
- 13-03-2020, 09:55 PM #334
- 13-03-2020, 10:16 PM #335
الدرس 0003:
وأن لكل class يوجد على الأقل واحد constructor سواء كتبتها في الكود أم لا -- واذا لم تكتبتها فإنها تضاف للكود بعد ان تضغط على compile
فالكود أسفل على اليسار هو الذي كتبته انت, والذي على اليمين هو الكود الحقيقي الذي يراه الكومبايلر, بعد ان تضغط على compile
إجباري يكون هناك واحد constructor على الأقل.
- 13-03-2020, 10:24 PM #336
الدرس 0004: Constructors
والـ constructor نميزه عن اي شيء أخر أنه يأخذ اسم الـ class ثم قوسين مثل ( ) -- يشبه الدالة وليس بدالة - ثم قوسين من نوع { } نكتب بداخلها الاكواد التي تعبر عن فكرة الـ constructor الرئيسية
وقد يكون أي نوع من أنواع المرور access-modifiers والأفضل ان يكون public أو أن يكون مثل الـ class التي ينتمي لها. وهي أمور التطبيق يحكم بنوع المرور المناسب لهذا الـ constructor
- 13-03-2020, 10:33 PM #337
- 13-03-2020, 11:02 PM #338
الدرس 0006: الهدف الرئيس من الـ constructors
وهو انشاء الكائنات في الـ main method أو أي دالة أخرى حيث نستخدمه بعد كلمة new لكي يستدعي الـ constructor المحدد داخل الـ class ذات العلاقة لاعطاء قيم للـ Fields
والـ constructor المحدد نعني به . . . -- درس مستقل لاحق.
وكلمة new تستخدم لانشاء كائنات جديدة.
واسم الـ class نفسه يستخدم لتعريف الكائن.
الكود أسفل تم تعريف متغير x1 ودون قيمة وبالتالي الديفولت له 0 --
تم خلق كائن باسم obj وباستدعاء الكوسنتركتور تم جعل x1 تساوي 12
اذن الهدف الرئيسي من الكوسنتركتور هنا هو منح الفيلدز x1 قيمة تعادل 120
فالبرنامج في الصورة خرج من main الى constructor بسبب أنه وجد استدعاء لـ الـ Lesson0001( ) f
ثم عادة مرة أخرى الى دالة main
- 13-03-2020, 11:20 PM #339
الدرس 0007: الـ class Object هو أم وأب كل الكلاسات.
عندما تذهب للجافا API تجد ان جميع الكلاسات بما فيها الكلاس من تصميمك انت يتحدر من الكلاس Object
وبالتالي أي كلاس في الدنيا يرث جميع الدوال الموجودة في Object Class وعددها تسعة
وهذا رابطه: (موقع JAVA API)
https://docs.oracle.com/javase/8/doc...ng/Object.html
فـ Object هو أم الجافا وأبوها,
وهذذا يبين لك سبب ظهور هذه التسعة تحديدا من نوع Object عندما تضع نقطة بعد اسم الكائن او الشيء الذي انشأته: انظر للصورة
ايضا تجدها في الرابط اعلاه
ولاحظ الدالة wait لها 3 بناءات.
الملف المرفق 521466
- 13-03-2020, 11:26 PM #340
الدرس 0008: لكل Object تنشئه يوجد عنوان أو هاشـ كود HashCode يخصه لو حده
وبناء عليه تفهم لماذا كل الاشياء في الدنيا تتشارك في هذه الخاصية- اي خاصية ان لها رقم هوية يميزها عن غيرها.
في الصورة اعلاه تجد احد التسعة دالة اسمها hashCode من نوع int
والهاش كود هو عنوان الكائن في ذاكرة الجافا الافتراضية JavaVirtualMemory
وكما قلنا هو من نوع عدد صحيح--غالبا 6 ارقام -- يشبه نوعا ما الـ memory address
وهذا العدد الصحيح يعرض بصورة نمط-16----- hexadecimal numberآخر تعديل بواسطة سلمان_العتيبي ، 13-03-2020 الساعة 11:30 PM
- 13-03-2020, 11:35 PM #341
الدرس 0009: أمر الطباعة في الكونسول
شرحنا بشكل مكثف كيف يتم مع محرر دوكاسكوبي,
ومع الجافا البحتة نستخدم هذا السطر:
System.out.println
او هذا السطر
System.out.print
وتبرز أهميته انه يساعد في التعلم والتطبيق في هذه المرحلة
والفرق بين الأولى والثانية انه println ممكن تكون فارغة
بينما print اجباري يوجد نص بداخلها.
الملف المرفق 521469
- 13-03-2020, 11:37 PM #342
آخر تعديل بواسطة سلمان_العتيبي ، 13-03-2020 الساعة 11:42 PM
- 14-03-2020, 12:24 AM #343
الدرس 0011: الـ Constructors
اقرأ الاقتباس اولا ثم . .
فهو يذهب الى الـ class ذات العلاقة التي استخدمت في تعريف الكائن وليس الكلاس الذي تم التعريف بداخله
في الصورة اسفل صحيح ان المتغير الكائني obj2 يوجد تعريفه داخل المين لـ Lesson0001 class ولكن أداة التعريف المستخدمة اسم Lesson0002
البرنامج في الصورة اسفل يوجد امرين طباعة
ولكن تم استدعاء امر الطباعة تحت الكلاس Lesson0002 ---- الاخر لم يمر عليه البرنامج نهائياً لأنه لم يتم استدعاؤه اساساً.
الناتج في الكونسول سيكون النص Lesson0002آخر تعديل بواسطة سلمان_العتيبي ، 14-03-2020 الساعة 12:27 AM
- 14-03-2020, 01:01 AM #344
الدرس 0012: access modifiers -- أدوات المرور أو السماح المرتبطة بـ الفليدز Fields والدوال Methods
ترجمة حرفية وهنا مكانها المناسب ولكن لا يمكن تفهمها بشكل سريع وصحيح ودقيق الا بعد الحديث عن مصطلح الـ package
لذا نكتفي بذكرها هنا وهي أربعة فقط:
1) لاشيء
2) puplic
3) private
4) protected
ووجدت بعض المواقع مثل الموقع أعلاه يستخدمون كلمة default للتعبير عن عدم وجود أي من الكلمات الثلاث الأخرى (حالة لاشيء) -- وهذه البلاهة مرفوضة تماما هنا, لأن كلمة default توجد في الجافا تحت عنوان اخر لاستخدام اخر,
صورة:
نلخص:
classes+interfaces الخارجية تستخدم فقط public او لاشيء
المتغيرات والدوال تستخدم الأربعة
classes+interfaces الداخلية تستخدم أيضا الأربعةآخر تعديل بواسطة سلمان_العتيبي ، 14-03-2020 الساعة 01:16 AM
- 14-03-2020, 01:24 AM #345
الدرس 0013: الحقائب packages
هي مثل الملفات على أي درايف, وفيها تحفظ مجموعة من البرامج.
انظر: عندي على جهازي في الـ eclipse -- وهو محرر برامج الجافا الذي نستخدمه - أكثر من package وهي حسب الصورة اسفل أربعة بكجات:
الملف المرفق 521476
داخل كل package يوجد أكثر من برنامج جافا وبالتالي اكثر من كلاس-- لاتنسى اسم البرنامج على اسم الكلاس.
كيف يتم التواصل بينهم؟
أولا دعنا نفتح الفولدر للتأكيد:
انظر للصورة اسفل, يعني package مجرد فولدرات لتجميع عدة برامج بينها قواسم مشتركة--نوع من الترتيب,
الملف المرفق 521477