Tugas 13 - Abstraksi Kelas
Nama: Dewa Putu Ananda Taurean Mahesa
NRP: 5025231158
Kelas: PBO A
1. Implementasi Abstract Class MakhlukHidup
- Kelas MakhlukHidup
Kelas MakhlukHidup adalah kelas abstrak yang akan digunakan, dengan method breathe dan grow yang implementasi detailnya akan didefinisikan di tiap sub kelasnya. Terdapat atribut name juga.
- Kelas Manusia
Keyword extends menunjukkan bahwa kelas ini sub kelas dari kelas MakhlukHidup. Terdapat implementasi penuh dari method breathe dan grow dengan cara Override.
- Kelas Hewan
Keyword extends menunjukkan bahwa kelas ini sub kelas dari kelas MakhlukHidup. Terdapat implementasi penuh dari method breathe dan grow dengan cara Override.
- Kelas Tumbuhan
Keyword extends menunjukkan bahwa kelas ini sub kelas dari kelas MakhlukHidup. Terdapat implementasi penuh dari method breathe dan grow dengan cara Override.
- Kelas Main
Dengan kelas Main sederhana di atas untuk membuat objek tiap kelas, didapatkan hasil berikut:
2. Abstraksi implementasi Foxes and Rabbits Simulation
Untuk impementasi foxes and rabbits ini, saya membuat yang lebih sederhana di mana terdapat sejumlah rabbits dan foxes yang bisa bergerak dalam suatu grid, dan rabbits akan dimakan foxes bila mereka bertemu pada kotak grid yang sama.
- Kelas Animal
Animal adalah kelas abstrak yang digunakan. Terdapat atribut x dan y yang merupakan posisi pada grid, boolean alive, dan gridSize. Terdapat method abstrak move dan interact yang detailnya akan diimplementasi kelas Rabbit dan Fox. Selain itu, method isAlive untuk mengecek apakah hewan masih hidup, dan keepInBounds untuk mengecek agar hewan tidak bergerak ke luar grid.
- Kelas Rabbit
Kelas Rabbit merupakan sub kelas dari Animal. Telah terisi method move untuk menentukan arah gerakan hewan secara random, serta method interact untuk mengubah status alive dari Rabbit bila bertemu dengan Fox.
- Kelas Fox
Kelas Simulation adalah kelas utama untuk menjalankan program. Di sini ditentukan besar grid, banyak rabbit dan fox lalu dibuat instansi objeknya. Dilakukan 10 iterasi langkah, pertama semua hewan yang masih hidup akan bergerak, lalu dilakukan pengecekan interaksi antara rabbit dan fox. Terakhir, program mendisplay status setiap hewan dan posisi mereka saat ini pada iterasi. Contoh hasil akhir seperti berikut:
Comments
Post a Comment