Tugas Pertemuan 12 PBO
Nama : Moh. Rizky Rahmadian Makkani
NRP : 5025231035
Kelas : PBO A
Tugas Pertemuan 12 : PBO
Code Main.java :
import ticket.*;
public class Main {
public static void main(String[] args) {
Ticket economyTicket = new EconomyTicket("Alice", "FL123", 1000.0);
Ticket businessTicket = new BusinessTicket("Bob", "FL124", 1000.0);
Ticket firstClassTicket = new FirstClassTicket("Charlie", "FL125", 1000.0);
System.out.println(economyTicket);
System.out.println("------------------------------");
System.out.println(businessTicket);
System.out.println("------------------------------");
System.out.println(firstClassTicket);
}
}
Code Ticket.java :
package ticket;
public abstract class Ticket {
protected String passengerName;
protected String flightNumber;
protected double baseFare;
public Ticket(String passengerName, String flightNumber, double baseFare) {
this.passengerName = passengerName;
this.flightNumber = flightNumber;
this.baseFare = baseFare;
}
// Abstract method to calculate the fare
public abstract double calculateFare();
@Override
public String toString() {
return "Passenger: " + passengerName + "\nFlight: " + flightNumber + "\nFare: " + calculateFare();
}
}
Code EconomyTicket.java :
package ticket;
public class EconomyTicket extends Ticket {
private static final double DISCOUNT_RATE = 0.10;
public EconomyTicket(String passengerName, String flightNumber, double baseFare) {
super(passengerName, flightNumber, baseFare);
}
@Override
public double calculateFare() {
return baseFare - (baseFare * DISCOUNT_RATE);
}
@Override
public String toString() {
return super.toString() + "\nClass: Economy\nDiscount: 10%";
}
}
Code BusinessTicket.java :
package ticket;
public class BusinessTicket extends Ticket {
private static final double SURCHARGE_RATE = 0.25;
public BusinessTicket(String passengerName, String flightNumber, double baseFare) {
super(passengerName, flightNumber, baseFare);
}
@Override
public double calculateFare() {
return baseFare + (baseFare * SURCHARGE_RATE);
}
@Override
public String toString() {
return super.toString() + "\nClass: Business\nSurcharge: 25%";
}
}
Code FirstClass.java :
package ticket;
public class FirstClassTicket extends Ticket {
private static final double SURCHARGE_RATE = 0.50;
public FirstClassTicket(String passengerName, String flightNumber, double baseFare) {
super(passengerName, flightNumber, baseFare);
}
@Override
public double calculateFare() {
return baseFare + (baseFare * SURCHARGE_RATE);
}
@Override
public String toString() {
return super.toString() + "\nClass: First Class\nSurcharge: 50%";
}
}
Output :
Komentar
Posting Komentar