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

Postingan populer dari blog ini

Tugas 2 PBO : Konsep OOP

Tugas 1 PWEB E

Tugas Pertemuan 14 PBO