Implement a class called AdvanceTicket to represent tickets purchased in advance. An advance ticket is constructed with a ticket number and with the number of days in advance that the ticket was purchased. Advance tickets purchased 10 or more days before the event cost $30, and advance tickets purchased fewer than 10 days before the event cost $40.
public class Ticket {
int ticketNumber;
int ticketPrice;
public Ticket(int ticketNumber) {
this.ticketNumber = ticketNumber;
}
public Ticket() {
}
public int getTicketNumber() {
return ticketNumber;
}
public void setTicketNumber(int ticketNumber) {
this.ticketNumber = ticketNumber;
}
public int getTicketPrice() {
return ticketPrice;
}
public void setTicketPrice(int ticketPrice) {
this.ticketPrice = ticketPrice;
}
}
// new AdvanceTicket Subclass was created with the parent class Ticket
public class AdvanceTicket extends Ticket {
int ticketNumber;
int numberOfDaysBeforeEvent;
int price = 40;
public int getTicketNumber() {
return ticketNumber;
}
public void setTicketNumber(int ticketNumber) {
this.ticketNumber = ticketNumber;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
public int getNumberOfDaysBeforeEvent() {
return numberOfDaysBeforeEvent;
}
public void setNumberOfDaysBeforeEvent(int numberOfDaysBeforeEvent) {
this.numberOfDaysBeforeEvent = numberOfDaysBeforeEvent;
}
public AdvanceTicket(int ticketNumber, int daysBeforeEvent) {
this.ticketNumber = ticketNumber;
this.numberOfDaysBeforeEvent = daysBeforeEvent;
}
public AdvanceTicket() {
}
@Override
public String toString() {
if (this.getNumberOfDaysBeforeEvent() > 10)
this.setPrice(30);
return "Ticket number: " + this.getTicketNumber() + ", price: " + this.getPrice() + "." + " purchased "
+ this.getNumberOfDaysBeforeEvent() + " days before the event. \n";
}
// driver method
public static void main(String args[]) {
// initiate the AdvanceTicket class
AdvanceTicket ad = new AdvanceTicket(27, 12);
AdvanceTicket ad1 = new AdvanceTicket(44, 4);
AdvanceTicket ad2 = new AdvanceTicket(63, 15);
AdvanceTicket ad3 = new AdvanceTicket(54, 2);
System.out.println(ad);
System.out.println(ad1);
System.out.println(ad2);
System.out.println(ad3);
}
}
Output:
Ticket number: 27, price: 30. purchased 12 days before the event.
Ticket number: 44, price: 40. purchased 4 days before the event.
Ticket number: 63, price: 30. purchased 15 days before the event.
Ticket number: 54, price: 40. purchased 1 days before the event.