ليش اخترنا رقم 2 اكثر خيار كان مستبعد
ممكن توضيح السبب
الاول طريقه انشاء دالة منشئة تحت هيكل
الثالث طريقة اضافة خصائص للهيكل
مو الكائن نفس المتغيرات والثوابت
بشأن تحدي المعلومات في الدالة المنشئة
انشاء الكائن ضمن هذا السؤال في الدالة الرئيسية Main
من اجل انشاء كائن جديد ضمن الدالة الرئيسية Main تحتاج الى انشاء كائن من نوع الكلاس وفي حال كان لديك دالة منشئة (الدالة المنشئة تحمل نفس اسم الكلاس) فيمكنك مباشرة تمرير قيم المتغيرات الخاصة ضمن التعريف
لذلك فالاحتمال الاول خاطئ لان اسم الكلاس Car وinit ليست دالة منشئة في هذه الحالة وبالتالي لاتقوم بانشاء كائن جديد
الاحتمال الثالث ايضا خاطئ لان لايمكننا الوصول وتغيير قيم المتغيرات الخاصة مباشرة من داخل الدالة الرئيسية main
الاحتمال الثاني هو الصحيح لان الدالة المنشئة لها نفس اسم الكلاس Car وتقوم بتميرير القيم الافتراضية الى المتغيرات الخاصة
الف شكر يا أستاذ الآن اتضحت المعلومة
وأيضاً بعد مشاهدة درس الكلاس اتضحت الفكرة اكثر لأن التحدي كان قبل درس الكلاس
احتاج مساعدة في التحدي البرمجي للكلاس ؟
هل احتاج إلى تعريف متغير بعد دالة subject
انتبه ففي حل الطلب الاول لاتحتاج الى اسناد قيم محددة الى العنصر حيث تم تمرير هذه القيم من خلال المعاملات name, gae, subjects
وبالتالي المتغيرات الخاصة بالكائن الجديد يجب ان تأخذ قيم هذه المتغيرات التي تم تمريرها اما بالطريقة التي كتبتها فجيمع الكائنات ستأخذ نفس القيم “احمد”, 29, Java
وضمن السؤال في الطلب الثاني تم تحديد اسم الدالة ب add وبالتالي تحتاج الى تعديل الاسم من subject الى add
ويجب تعريف هذه الدالة ضمن نطاق الكلاس وليس خارجه وتأخذ معامل هو subject الذي سيتم اضافته للمصفوفة
اخيرا وبشكل مماثل لايجب ان تضيف قيمة ثابتة للمصفوفة “Swift” بل يجب اضافة القيمة التي تم تمريرها ضمن الدالة add
اقتربت ولكن الدالة add لاتعيد اي قيمة لذلك لاحاجة ان تعيد قيمة String
وهذه الدالة مختلفة عن الدالة المنشئة حيث لايوجد قوس اغلاق الدالة المنشئة قبلها!
رجعت للدروس اعتقد تقصد اغير مكان الداله بحيث تكون بعد الكلاس مباشره لكن مازال في خطأ عجزت وانا اجرب حلول
لست بحاجة لتعريف الدالة add قبل الدالة المنشئة ولكن فقط انتبه الى النطاقات حيث ان اقواس النطاق لكل دالة في اخر صورة صحيح والكود الخاص بكل دالة موجود ضمن الاقواس الخاصة بها
ممتاز اقتربت كثيرا والكود الان صحيح فقط حاول تعديل نوع المعامل داخل الدالة add بدل [String] الى String أي
add(subject: String)
ويجب ان يكون الكود صحيح بشكل كامل بعدها
كويس تم الحل يعطيك العافية
لكن ليش شلنا الأقواس مو subject من نوع مصفوفه والمصفوفه بين قوسين [] مربعه
ممتاز مبارك وهنيئا لك تمكنك من تجاوز التحدي بنجاح
احتجنا المصفوفة لانه يمكن ان يكون لدينا اكثر من subject اما هنا في الدالة فسيتم تمرير subject واحد لذلك لاحاجة لتمريره كمصفوفة