TIcket
Ticket Pesawat
Main
Ini penjelasan Kodenya:
Kelas Utama (Main):
- Terdapat metode
mainyang merupakan titik awal eksekusi program. baseFareadalah tarif dasar (1000) yang digunakan sebagai acuan perhitungan tarif tiket.
- Terdapat metode
Polimorfisme dengan
Ticket:- Objek
economyTicket,businessTicket, danfirstClassTicketdibuat dengan menggunakan kelas berbeda (EconomyTicket,BusinessTicket, danFirstClassTicket), semuanya diasumsikan merupakan subclass dari kelas abstrakTicket. - Setiap subclass memiliki implementasi metode yang berbeda untuk menghitung tarif (
calculateFare()) dan menampilkan fasilitas (getFacilities()).
- Objek
Penghitungan dan Output:
- Program mencetak tarif tiket dan fasilitas masing-masing kelas.
- Tarif tiket ditentukan oleh logika di dalam metode
calculateFare()masing-masing subclass. - Fasilitas untuk setiap jenis tiket ditentukan oleh metode
getFacilities().
Ticket
Ini penjelasan Kodenya:
Atribut:
baseFare(bertipedouble): menyimpan tarif dasar tiket, yang akan digunakan sebagai acuan untuk perhitungan tarif.
Konstruktor:
Ticket(double baseFare): konstruktor yang menerima tarif dasar sebagai parameter dan menyimpannya di atributbaseFare.
Metode:
calculateFare(): metode yang mengembalikan tarif dasar. Subclass dapat mengoverride metode ini untuk menghitung tarif yang berbeda berdasarkan jenis tiket.getFacilities(): metode yang mengembalikan string "Fasilitas umum". Subclass dapat mengoverride metode ini untuk menyebutkan fasilitas khusus sesuai jenis tiket.
Economy Ticket
Ini penjelasan Kodenya:
Konstruktor:
EconomyTicket(double baseFare)memanggil konstruktor superclass (Ticket) dengan menggunakansuper(baseFare)untuk mengatur tarif dasar tiket.
Override Metode
calculateFare():- Menghitung tarif tiket kelas ekonomi dengan memberikan diskon 10% dari tarif dasar (
baseFare * 0.9). - Override ini memungkinkan perhitungan tarif khusus untuk kelas ekonomi, berbeda dari tiket lain.
- Menghitung tarif tiket kelas ekonomi dengan memberikan diskon 10% dari tarif dasar (
Override Metode
getFacilities():- Mengembalikan fasilitas khusus untuk tiket ekonomi, yaitu "Bagasi 20kg, minuman ringan".
- Override ini menyediakan deskripsi fasilitas yang spesifik untuk kelas ekonomi, menggantikan fasilitas umum di superclass.
Business Ticket
Ini penjelasan Kodenya:
Konstruktor:
BusinessTicket(double baseFare)memanggil konstruktor superclass (Ticket) menggunakansuper(baseFare)untuk menyimpan tarif dasar tiket.
Override Metode
calculateFare():- Menghitung tarif tiket kelas bisnis dengan menambahkan 25% dari tarif dasar (
baseFare * 1.25). - Override ini mengimplementasikan logika tarif khusus untuk kelas bisnis.
- Menghitung tarif tiket kelas bisnis dengan menambahkan 25% dari tarif dasar (
Override Metode
getFacilities():- Mengembalikan fasilitas khusus untuk kelas bisnis, yaitu "Bagasi 30kg, makanan, akses lounge bisnis".
- Override ini menyediakan deskripsi fasilitas yang lebih eksklusif dibanding kelas lainnya.
First Class
Ini penjelasan Kodenya:
Konstruktor:
FirstClassTicket(double baseFare)memanggil konstruktor superclass (Ticket) menggunakansuper(baseFare)untuk mengatur tarif dasar tiket.
Override Metode
calculateFare():- Menghitung tarif tiket kelas satu dengan menambahkan 50% dari tarif dasar (
baseFare * 1.5). - Override ini memberikan logika perhitungan tarif khusus untuk kelas satu, yang lebih mahal dibanding kelas lainnya.
- Menghitung tarif tiket kelas satu dengan menambahkan 50% dari tarif dasar (
Override Metode
getFacilities():- Mengembalikan fasilitas premium untuk tiket kelas satu: "Bagasi 40kg, makanan gourmet, akses lounge VIP, layanan pribadi".
- Override ini menyediakan deskripsi fasilitas mewah, sesuai dengan kelas tiket tertinggi.







Komentar
Posting Komentar