Abstract Class
Nama: Valensio Arvin Putra Setiawan
Kelas: PBO G
NRP: 5025231273
Link Github: https://github.com/killervaps/pbo-abstract-class
1. Abstract Class: MakhlukHidup
Cara Kerja:
Konsep Abstract Class:
MakhlukHidupadalah kelas abstrak, sehingga tidak dapat diinstansiasi langsung.- Digunakan sebagai dasar untuk mendefinisikan atribut dan metode umum untuk
Manusia,Hewan, danTumbuhan.
Atribut:
nama: Digunakan untuk menyimpan nama dari makhluk hidup.
Metode Abstrak:
bernafas()danberkembangBiak():- Tidak memiliki implementasi di kelas ini.
- Setiap subclass wajib memberikan implementasi spesifik untuk metode ini.
Metode Umum:
getNama(): Mengembalikan nama makhluk hidup.
2. Subclass: Manusia
Cara Kerja:
Inisialisasi:
- Ketika objek
Manusiadibuat, konstruktorManusiadipanggil. - Konstruktor ini menggunakan
superuntuk memanggil konstruktor dari kelasMakhlukHidupuntuk mengisi atributnama.
- Ketika objek
Override Metode:
bernafas(): Mengimplementasikan logika bahwa manusia bernafas menggunakan paru-paru.berkembangBiak(): Mengimplementasikan logika bahwa manusia berkembang biak secara melahirkan.
Polimorfisme:
- Jika objek
Manusiadisimpan dalam referensi bertipeMakhlukHidup, pemanggilan metodebernafas()danberkembangBiak()tetap akan menjalankan implementasi dari kelasManusia.
- Jika objek
3. Subclass: Hewan
Cara Kerja:
Inisialisasi:
- Serupa dengan
Manusia, konstruktorHewanmemanggil konstruktorMakhlukHidupmelaluisuperuntuk mengisi atributnama.
- Serupa dengan
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:
Inisialisasi:
- Konstruktor
Tumbuhanmemanggil konstruktorMakhlukHidupuntuk mengisi atributnama.
- Konstruktor
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:
Membuat Objek:
- Objek dari subclass (
Manusia,Hewan,Tumbuhan) dibuat dengan konstruktor masing-masing. - Referensi bertipe
MakhlukHidupdigunakan untuk menyimpan objek.
- Objek dari subclass (
Pemanggilan Metode:
- Metode
bernafas()danberkembangBiak()dipanggil untuk setiap objek. - Karena setiap subclass telah mengoverride metode ini, implementasi spesifik dari masing-masing subclass dijalankan.
- Metode
Output:
- Metode
bernafas()danberkembangBiak()menghasilkan keluaran berdasarkan logika yang diimplementasikan di subclass.
- Metode
Contoh Alur Eksekusi
Input:
Manusiadengan namaAlice.Hewandengan namaKucing.Tumbuhandengan namaMawar.
Proses:
Objek
Manusiadibuat:- Atribut
namadiisi denganAlice. - Pemanggilan metode:
bernafas()menghasilkan output: "Alice bernafas menggunakan paru-paru."berkembangBiak()menghasilkan output: "Alice berkembang biak secara melahirkan."
- Atribut
Objek
Hewandibuat:- Atribut
namadiisi denganKucing. - Pemanggilan metode:
bernafas()menghasilkan output: "Kucing bernafas menggunakan paru-paru atau insang."berkembangBiak()menghasilkan output: "Kucing berkembang biak secara bertelur atau melahirkan."
- Atribut
Objek
Tumbuhandibuat:- Atribut
namadiisi denganMawar. - Pemanggilan metode:
bernafas()menghasilkan output: "Mawar bernafas menggunakan stomata atau lentisel."berkembangBiak()menghasilkan output: "Mawar berkembang biak melalui biji, tunas, atau stek."
- Atribut
Comments
Post a Comment