Abstract Class

Nama: Valensio Arvin Putra Setiawan
Kelas: PBO G
NRP: 5025231273


1. Abstract Class: MakhlukHidup

Cara Kerja:

  1. Konsep Abstract Class:

    • MakhlukHidup adalah kelas abstrak, sehingga tidak dapat diinstansiasi langsung.
    • Digunakan sebagai dasar untuk mendefinisikan atribut dan metode umum untuk Manusia, Hewan, dan Tumbuhan.
  2. Atribut:

    • nama: Digunakan untuk menyimpan nama dari makhluk hidup.
  3. Metode Abstrak:

    • bernafas() dan berkembangBiak():
      • Tidak memiliki implementasi di kelas ini.
      • Setiap subclass wajib memberikan implementasi spesifik untuk metode ini.
  4. Metode Umum:

    • getNama(): Mengembalikan nama makhluk hidup.

2. Subclass: Manusia

Cara Kerja:

  1. Inisialisasi:

    • Ketika objek Manusia dibuat, konstruktor Manusia dipanggil.
    • Konstruktor ini menggunakan super untuk memanggil konstruktor dari kelas MakhlukHidup untuk mengisi atribut nama.
  2. Override Metode:

    • bernafas(): Mengimplementasikan logika bahwa manusia bernafas menggunakan paru-paru.
    • berkembangBiak(): Mengimplementasikan logika bahwa manusia berkembang biak secara melahirkan.
  3. Polimorfisme:

    • Jika objek Manusia disimpan dalam referensi bertipe MakhlukHidup, pemanggilan metode bernafas() dan berkembangBiak() tetap akan menjalankan implementasi dari kelas Manusia.

3. Subclass: Hewan

Cara Kerja:

  1. Inisialisasi:

    • Serupa dengan Manusia, konstruktor Hewan memanggil konstruktor MakhlukHidup melalui super untuk mengisi atribut nama.
  2. Override Metode:

    • bernafas(): Mengimplementasikan logika bahwa hewan dapat bernafas menggunakan paru-paru atau insang.
    • berkembangBiak(): Mengimplementasikan logika bahwa hewan berkembang biak secara bertelur atau melahirkan.

4. Subclass: Tumbuhan

Cara Kerja:

  1. Inisialisasi:

    • Konstruktor Tumbuhan memanggil konstruktor MakhlukHidup untuk mengisi atribut nama.
  2. Override Metode:

    • bernafas(): Mengimplementasikan logika bahwa tumbuhan bernafas menggunakan stomata atau lentisel.
    • berkembangBiak(): Mengimplementasikan logika bahwa tumbuhan berkembang biak melalui biji, tunas, atau stek.

5. Main Class: Main

Cara Kerja:

  1. Membuat Objek:

    • Objek dari subclass (Manusia, Hewan, Tumbuhan) dibuat dengan konstruktor masing-masing.
    • Referensi bertipe MakhlukHidup digunakan untuk menyimpan objek.
  2. Pemanggilan Metode:

    • Metode bernafas() dan berkembangBiak() dipanggil untuk setiap objek.
    • Karena setiap subclass telah mengoverride metode ini, implementasi spesifik dari masing-masing subclass dijalankan.
  3. Output:

    • Metode bernafas() dan berkembangBiak() menghasilkan keluaran berdasarkan logika yang diimplementasikan di subclass.

Contoh Alur Eksekusi

Input:

  • Manusia dengan nama Alice.
  • Hewan dengan nama Kucing.
  • Tumbuhan dengan nama Mawar.

Proses:

  1. Objek Manusia dibuat:

    • Atribut nama diisi dengan Alice.
    • Pemanggilan metode:
      • bernafas() menghasilkan output: "Alice bernafas menggunakan paru-paru."
      • berkembangBiak() menghasilkan output: "Alice berkembang biak secara melahirkan."
  2. Objek Hewan dibuat:

    • Atribut nama diisi dengan Kucing.
    • Pemanggilan metode:
      • bernafas() menghasilkan output: "Kucing bernafas menggunakan paru-paru atau insang."
      • berkembangBiak() menghasilkan output: "Kucing berkembang biak secara bertelur atau melahirkan."
  3. Objek Tumbuhan dibuat:

    • Atribut nama diisi dengan Mawar.
    • Pemanggilan metode:
      • bernafas() menghasilkan output: "Mawar bernafas menggunakan stomata atau lentisel."
      • berkembangBiak() menghasilkan output: "Mawar berkembang biak melalui biji, tunas, atau stek."

Comments

Popular posts from this blog

Implementasi Rental Kendaraan