سؤال

أرغب في إنشاء طريقة تسمى "isBetween" لإرجاع قيمة منطقية، ومعرفة ما إذا كان تاريخ التقويم الغريغوري يقع بين تاريخين آخرين.وبدلاً من ذلك، أود فقط تحديد عوامل تشغيل < و > للفئة.أنا جديد جدًا في استخدام Java، لذا لست متأكدًا.... هل يمكنني حتى القيام بأي من هذين؟إذا كان الأمر كذلك، كيف؟

هل كانت مفيدة؟

المحلول

لا تدعم Java تصحيح القرود أو التحميل الزائد للمشغل، لكن لا تتردد في استخدام الفئات الفرعية GregorianCalendar وأضف أي طرق تحتاجها.

ولكن بعد ذلك، هل تحتاج حقًا إلى طريقة جديدة للقيام بذلك؟ cal.after(startCal) && cal.before(endCal) ?

نصائح أخرى

لا، لا يمكنك إضافة طريقة إلى الفئات الموجودة مسبقًا ولا يمكنك إجراء التحميل الزائد للمشغل أيضًا في Java.

كبديل، يمكنك توفير طريقة فائدة ثابتة في الفصل الدراسي الخاص بك على سبيل المثال.

انا قد انصح ضد توسيع الفصل - أنت لا تضيف أي سلوك خاص بمثيلات فئة معينة، أنت تعبر عن المنطق الذي ينطبق على أي GregorianCalendar (أو ربما أي تقويم على الإطلاق).

كما يقول يواكيم، فإن الطريقة الثابتة في فئة الأداة المساعدة هي الطريق الذي يجب اتباعه - وإذا اكتسبت Java طرقًا للتوسيع وفقًا لـ C# (أعلم أنه تم اقتراحها لـ Java 7، لكنني يفكر إنهم خارج هذه اللحظة) يمكنك تعديلها في تلك المرحلة.

أوه، واستخدام توقيت جودا على أي حال :)

يجب أن تحاول تمديده:

class MyGregorianCalendar extends GregorianCalendar
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top