Программа «программа встреч», которую должен выполнять месячный класс, - «Ежемесячно», если дата запроса не раньше даты назначения и соответствует дате в месяце, то метод whenO должен возвращать значение true. Например, предположим, что у вас есть ежемесячная встреча, «пойдите в поход», установленную 20 мая 2003 года. Для даты запроса, 20 мая 2012 года, метод возникает, когда он должен вернуть true.Руководство с наследованием/переопределением?
Я предполагаю, что этот метод должен быть перезаписан, но мне нужно руководство здесь, так как это одна из немногих программ наследования, которые я сделал.
У меня есть 3-х классов в данный момент
import java.util.Scanner;
public class AppointmentDemo
{
public static void main(String[] args)
{
Appointment[] appointments = new Appointment[2];
appointments[0] = new Monthly(2003, 5, 20, "Go hiking.");
appointments[1] = new Onetime(2012, 4, 2, "Dentist appointment.");
System.out.println("Enter a date (year month day) to list appointments: (e.g. 2000 8 13)");
Scanner in = new Scanner(System.in);
int year = in.nextInt();
int month = in.nextInt();
int day = in.nextInt();
boolean found = false;
for (int i = 0; i < appointments.length; i++)
{
if (appointments[i].occursOn(year, month, day))
{
found = true;
System.out.println(appointments[i]);
}
}
if(!found){
System.out.println("No appointment found.");
}
}
}
Что является основным классом
супер класс:
public class Appointment
{
private String description;
private int year;
private int month;
private int day;
public Appointment(int year, int month, int day, String description)
{
this.year = year;
this.month = month;
this.day = day;
this.description = description;
}
public int getYear() { return year; }
/**
Returns the month of the appointment
@return the month
*/
public int getMonth() { return month; }
/**
Returns the day of the appointment
@return the day
*/
public int getDay() { return day; }
public boolean occursOn(int year, int month, int day)
{
return (year == this.year) && (month == this.month) && (day == this.day);
}
/**
Converts appointment to string description
*/
public String toString() { return description; }
}
и ежемесячный класс
public class Monthly extends Appointment {
private int year;
private int day;
private int month;
private String description;
public Monthly(int year, int month, int day, String description) {
super(year, month, day, description);
// TODO Auto-generated constructor stub
}
}
В чем вопрос? – tnw
@tnw первое предложение в значительной степени, где была бы хорошей отправной точкой для создания этого ежемесячного класса – user3586915