Home > OO Programming > Design Inheritance Tree (Part 1)

Design Inheritance Tree (Part 1)

Kita skarang diberi tugas untuk membuat program yg mensimulasikan lingkungan yg dimana didalamnya terdapat banyak hewan. Kebun binatang ? mmm … mungkin saja.. tetapi kayaknya sih ini semuanya ga punya kandang. Semuanya bebas dalam lingkungan itu. Tujuannya adalah mengamati interaksi mereka. Nah kita skarang mulai dengan design.

List hewan2nya sudah diberikan tapi belum lengkap. Ok. Setiap hewan adalah sebuah object. Itu jelas sekali bukan ? Nah mereka akan bergerak dalam lingkungan tersebut dan melakukan sesuai yg kita program.

Karena listnya belum lengkap. Berarti masih ada penambahan2. Alias perubahan2. Jadi kita ingin agar programmer dapat menambahkan kelas kapan saja.

Apa langkah2 yg akan kita lakukan :

Pertama kita akan mencari sesuatu yg umum ditemukan baik itu attribute maupun behaviour dan membuatnya menjadi kelas yg dapat menurunkan kelas animal yg lain. Sehingga kita dapat mencegah duplikasi code.

Instance variable yg ditemukan adalah :
picture : ini untuk menentukan gambar apa yg akan ditampilkan untuk hewan tersebut
food : setiap hewan pasti butuh makan …nah makanannya rata2 adalah daging atau rumput.
hunger : seberapa lapar hewan tersebut.
boundaries : ruang bergerak dari hewan tersebut. dimana dia akan bergerak.
location : disimpan dalam bentuk kordinat x dan y dan terletak dalam boundaries

method yg ditemukan adalah :
makeNoise() : yah .. suara yg dikeluarin masing2 hewan. klo anjing .. ya guk guk. … dsb.
eat() : pasti butuh makan … baik itu daging atau rumput.
sleep() : butuh tidur juga kan hewan itu ?
roam() : jalan2 sepertinya ato mondar-mandir

Kedua. Kita akan mendesign kelas yg merepresentasikan state dan behaviour yg umum. Semua object adalah hewan. Jadi kita akan membuat superclass Animal. Dan letakkan semua instance variable dan behaviour yg umum tersebut.

animalp

Categories: OO Programming Tags:
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: