Implement a class called StudentAdvanceTicket to represent tickets purchased in advance by students. A student advance ticket is constructed with a ticket number and with the number of days in advance that the ticket was purchased.Student advance tickets purchased 10 or more days before the event cost $15, and student advance tickets purchased fewer than 10 days before the event cost $20 (half of a normal advance ticket). When a student advance ticket is printed, the String should mention that the student must show his or her student ID (for example,"Number: 17, Price: 15.0 (ID required)").
package Inheritance; 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; } }
// AdvanceTicket Subclass was created with the parent class Ticketpublic 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"; } } // subclass for the AdvanceTicket was creted public class StudentAdvanceTicket extends AdvanceTicket { int price = 20; int ticketNumber; int numberOfDaysBeforeEvent; public int getTicketNumber() { return ticketNumber; } public void setTicketNumber(int ticketNumber) { this.ticketNumber = ticketNumber; } public int getPrice() { return price; } public int getNumberOfDaysBeforeEvent() { return numberOfDaysBeforeEvent; } public void setNumberOfDaysBeforeEvent(int numberOfDaysBeforeEvent) { this.numberOfDaysBeforeEvent = numberOfDaysBeforeEvent; } public void setPrice(int price) { this.price = price; } public StudentAdvanceTicket(int ticketNumber, int days) { this.ticketNumber = ticketNumber; this.numberOfDaysBeforeEvent = days; } public StudentAdvanceTicket() { } // override the toString method to print the values in tickets @Override public String toString() { if (this.getNumberOfDaysBeforeEvent() > 10) this.setPrice(15); return "Ticket number: " + this.getTicketNumber() + ", price: " + this.getPrice() + "." + " purchased " + this.getNumberOfDaysBeforeEvent() + " days before the event. (ID required) \n"; } public static void main(String args[]) { // initialize the StudentAdvanceTicket object StudentAdvanceTicket ad = new StudentAdvanceTicket(86, 12); StudentAdvanceTicket ad1 = new StudentAdvanceTicket(24, 4); StudentAdvanceTicket ad2 = new StudentAdvanceTicket(37, 15); StudentAdvanceTicket ad3 = new StudentAdvanceTicket(31, 2); System.out.println(ad); System.out.println(ad1); System.out.println(ad2); System.out.println(ad3); } }
Output:
Ticket number: 86, price: 15. purchased 12 days before the event. (ID required)
Ticket number: 24, price: 20. purchased 4 days before the event. (ID required)
Ticket number: 37, price: 15. purchased 15 days before the event. (ID required)
Ticket number: 31, price: 20. purchased 2 days before the event. (ID required)