قم بإنشاء فئة (class) باسم Time تحتوي على خاصيتين أعداد صحيحة هما الساعات hours والدقائق minutes
تخزين الساعات يكون بنظام الأربعة وعشرون ساعة من 0 إلى 23
أضف دالة تقوم بعرض حقلي الساعات والدقائق والفاصل بينهما النقطتان الرأسيتان (تأكد من عرض الدقائق من خانتين كمثال الساعة الثالثة تُعرض بالشكل 3:00 ولا تعرض بالشكل 3:0 )
أضف دالة أُخرى تأخذ وسيط عدد صحيح عبارة عن عدد الدقائق وإضافته للوقت، الدالة تقوم بتحديث الوقت من خلال وسيط الدقائق المُمرر إليها وكمثال: الساعة 12:30 مضاف إليها 15 دقيقة تصبح 12:45 و الساعة 14:45 مضاف إليها 20 دقيقة تصبح 15:10 والساعة 23:59 مضاف إليها 2 دقيقة تصبح 0:01 وهكذا...
الباني(constructor) للفئة Time يتطلب وسيط عبارة عن عدد الساعات ووسيط إختياري عبارة عن عدد الدقائق، يتم تخصيص القيمة صفر في حالة عدم وجود وسائط تم تمريرها لباني الفئة.
باني الفئة يقوم بالتحقق من قيمة عدد الساعات بحث أنها لا تتخطى 23 والدقائق لا تتخطى 59، هذه القيم القصوى يتم إسنادها كقيم إفتراضية لعدد للساعات والدقائق في حالة تخطي هذه القيم.
قم بإنشاء الدالة الرئيسة main والتي تحتوي على مصفوفة بها أربع كائنات مُنشئة من الفئة Time لعرض الأربع أوقات السابقة بعد تمرير عدد الدقائق لها كما في المثال أعلاه.
JS ليست مثال جيد لتعلم الـ OOP، هي فعلاً مرنة بحيث توفر لك استخدام اسلوب البرمجة الكائنية ولكن لفهم مبادئ البرمجية الكائنية عليه بلغة تطبق تلك المبادئ بشكل واضح وصارم كمثال لغة java أو ++C ومثيلاتهم.
طبعا ، لكن بما أن خبرته محصورة في JS فما المانع في استخدامها؟ فيأخذ الاساس ويكمل طريقه في لغات Mid Level
اعتقد ان C++ من افضل اللغات لتعلم OOP و الخوارزميات و كل ما يتعلق بـ CS ، لهذا تجد أغلب شركات الIT تطلب مهندسي برمجيات لهم خبرة جيدة في هذه اللغة ، بالاضافة الى Python.
لا مانع في استخدامها، قصدت أن الأمور ستكون بشكل أوضح في لغات أُخرى وكمثال فكلمات كـ public, static, private, protected تدل على معنى معين سيسهل فهم المبادئ بعكس من يستجد عليه مفهوم الـ OOP ويبدأ تعلمه مع لغة JS، وحتى كلمة class التي أشرت إليها أُضيفت لاحقاً لـ ECMAScript 6 وكان تعريف الفئات يتم عبر كلمة var كأي متغير أخر.
داخل هذه الدالة ستضعي شرط يقوم بالتحقق -بعد زيادة عدد الدقائق- من أن عدد الدقائق أقل من 60 دقيقة سيتم زيادة عدد الدقائق فقط دون تغيير في الساعة وإن كانت الدقائق أكبر من أو تساوي 60 ستقومي بقسمة الدقائق على 60 ناتج القسمة الصحيح هو عدد الساعات وباقي القسمة هو عدد الدقائق.
ملاحظة: يتم إضافة شرط أخر لإختبار عدد الساعات بعد الزيادة فإن كان عدد الساعات أكبر من 23 يكون باقي قسمة عدد الساعات على 24 هو الساعة الحالية.
أضحكني ردك أضحك الله سنك :)) ولك كل الشكر على أنك لا تطلبين حل جاهز بل تسألين عن جذيئات غير واضحة وتكملي الباقي بنفسك، أتمنى أن أرى جميع أسئلة طالبي العلم من تلك النوعية التي تُفيد الطالب وتُحفزنا على الرد عليه.
التعليقات