class Main {
public static void main(String[] args) {
var budi = new GoRide("budi", "slipi", "palmerah", 5000);
budi.pesananAnda();
budi.totalTagihan(2000);
budi.lokasiDriver();
/*
budi = new GoCar("budi", "slipi", "palmerah");
budi.pesananAnda();
budi = new GoFood("budi", "sudirman", "Kopi Janji Jiwa", "Es Kopi Susu", "kota tua");
budi.pesananAnda();*/
}
}
class GoRide extends Gojek {
String nama;
String lokasi;
String alamat_tujuan;
int tips;
//constructor
GoRide(String nama, String lokasi, String alamat_tujuan, int tips) {
this.nama = nama;
this.lokasi = lokasi;
this.alamat_tujuan = alamat_tujuan;
this.tips = tips;
}
GoRide(String nama, String lokasi, String alamat_tujuan) {
this.nama = nama;
this.lokasi = lokasi;
this.alamat_tujuan = alamat_tujuan;
tips = 0;
}
GoRide(String nama, String alamat_tujuan) {
this.nama = nama;
this.alamat_tujuan = alamat_tujuan;
}
//method atau function
void pesananAnda() {
//int harga = super.harga_goride();
System.out.println("Halo " + nama + ", anda ingin pergi dengan GO RIDE dari " + lokasi + " menuju " + alamat_tujuan);
System.out.println("Harga yang anda perlukan adalah " + super.harga_goride());
System.out.println("tips yang diberikan adalah " + tips);
}
void totalTagihan(int fee) {
int jumlah;
jumlah = super.harga_goride() + fee;
System.out.println("Harga GoRide " + super.harga_goride());
System.out.println("Harga total " + jumlah);
}
}
class GoCar extends GoRide {
GoCar(String nama, String lokasi, String alamat_tujuan) {
super(nama, lokasi, alamat_tujuan);
}
void pesananAnda() {
System.out.println("Halo " + nama + ", anda ingin pergi dengan GO CAR dari " + lokasi + " menuju " + alamat_tujuan);
System.out.println("Harga yang anda perlukan adalah " + super.harga_gocar());
}
}
abstract class Gojek {
abstract void totalTagihan(int fee);
void lokasiDriver() {
System.out.println("Lokasi driver ditemukan");
}
//service
int harga_goride() {
return 20000;
}
int harga_gocar() {
return 50000;
}
}
class GoFood extends GoRide {
String nama_toko;
String nama_menu;
String lokasi_toko;
GoFood(String nama, String alamat_tujuan, String nama_toko, String nama_menu, String lokasi_toko) {
super(nama, alamat_tujuan);
this.nama_toko = nama_toko;
this.nama_menu = nama_menu;
this.lokasi_toko = lokasi_toko;
}
void pesananAnda() {
System.out.println("Halo " + nama + ", anda ingin pesan GoFood " + nama_menu);
System.out.println("dari " + nama_toko);
System.out.println("Pesanan anda akan diantar dari " + lokasi_toko + " menuju " + alamat_tujuan);
//System.out.println("Harga yang anda perlukan adalah " + super.harga_gocar);
}
}