У меня есть класс с перегруженными методами.Java - Абстрактный класс с перегруженными методами, вызывающими друг друга
public class MyCal extends GregorianCalendar {
//constructor
public MyCal(Date date) {
super();
setTime(date);
}
boolean isSameDay(Date date) {
return (isSameDay(new MyCal(date))) {
}
boolean isSameDay(MyCal cal) {
if (...) {
return true;
} else {
return false;
}
}
//abstract String toString(String pattern) {};
//if I have this I can't call new MyCal(date) from above
}
Теперь я хочу, чтобы класс быть абстрактным (нужны классы суб реализовать несколько других методов), и до сих пор избежать всей логики первого метода isSameDay (вызов второго). Если бы это был именно этот метод, было бы хорошо, я мог бы это сделать, но эта ситуация реплицируется на многие другие перегруженные методы.
Класс, являющийся абстрактным Я не могу его создать, и поэтому метод isSameDay (дата) сообщит об ошибке ... и действительно не хочет иметь логику для всех методов, это сделает класс огромным, как так же сложнее поддерживать. У кого-нибудь есть хороший способ сделать это? Спасибо заранее.
Что ваш вопрос , в точку? Это то, что вы хотите, чтобы сделать этот класс абстрактным и все еще создавать его? – Bohemian
Я тоже не понимаю. Избегайте * какой * логики? –
В чем проблема? Абстрактный метод может определять не абстрактные методы. И эти методы могут быть окончательными, если вы не хотите, чтобы подклассы перекрывали их. –