Design Inheritance Tree (Part 2)
Langkah ketiga adalah menentukan apakah subclass memiliki behaviour yg spesifik. Jika iya maka kita harus mengoverridenya.
Klo instance variable pasti semua kelas akan memilikinya. Setuju kan ?
Bagaimana dengan behaviour ? Apakah semuanya sama dengan yg ada superclass. mmm….
makeNoise() … masing2 hewan mengeluarkan suara yang khas. Anjing mengonggong. Harimau mengaum. Dll. Jadi method ini harus dioverride.
eat() …cara makan masing2 hewan juga beda.
jadi kita sudah punya 2 method yg akan di override di subclass. makeNoise() dan eat().
nah perubahan tersebut tergambar seperti dibawah ini. method yg lain tetap diturunkan dari superclassnya.
Sekarang sudh keliatan gambarannya. Sudah semakin jelas. Dengan override kedua method tersebut maka tidak akan kesalahan antara kucing yg mengeong dan anjing yg menggongong. Masing masing mengetahui cara mengeluarkan suara dan suara apa yg dikeluarkan.