TIcket

 Ticket Pesawat





Main



Ini penjelasan Kodenya:

  1. Kelas Utama (Main):

    • Terdapat metode main yang merupakan titik awal eksekusi program.
    • baseFare adalah tarif dasar (1000) yang digunakan sebagai acuan perhitungan tarif tiket.
  2. Polimorfisme dengan Ticket:

    • Objek economyTicket, businessTicket, dan firstClassTicket dibuat dengan menggunakan kelas berbeda (EconomyTicket, BusinessTicket, dan FirstClassTicket), semuanya diasumsikan merupakan subclass dari kelas abstrak Ticket.
    • Setiap subclass memiliki implementasi metode yang berbeda untuk menghitung tarif (calculateFare()) dan menampilkan fasilitas (getFacilities()).
  3. 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:

  1. Atribut:

    • baseFare (bertipe double): menyimpan tarif dasar tiket, yang akan digunakan sebagai acuan untuk perhitungan tarif.
  2. Konstruktor:

    • Ticket(double baseFare): konstruktor yang menerima tarif dasar sebagai parameter dan menyimpannya di atribut baseFare.
  3. 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:

  1. Konstruktor:

    • EconomyTicket(double baseFare) memanggil konstruktor superclass (Ticket) dengan menggunakan super(baseFare) untuk mengatur tarif dasar tiket.
  2. 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.
  3. 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:

  1. Konstruktor:

    • BusinessTicket(double baseFare) memanggil konstruktor superclass (Ticket) menggunakan super(baseFare) untuk menyimpan tarif dasar tiket.
  2. 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.
  3. 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:

  1. Konstruktor:

    • FirstClassTicket(double baseFare) memanggil konstruktor superclass (Ticket) menggunakan super(baseFare) untuk mengatur tarif dasar tiket.
  2. 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.
  3. 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.

Output





Github : https://github.com/rafftd/Ticket-Pesawat.git

Komentar

Postingan populer dari blog ini

ETS PBO

Global User Interface