Dalam tutorial polymorphism, ada dua cara untuk declare subclass:
KucingSiam mykucing = new KucingSiam();
dan
Kucing mykucing = new KucingSiam();
Katakanlah kita ada tambah method lompat() pada subclass, iaitu, KucingSiam.
Maknanya, sekarang method yang ada adalah macam ni:
Kucing (superclass) -> makan()
KucingSiam (subclass) -> makan(), lompat()
Apabila kita guna superclass sebagai type (istilah sebenarnya ialah reference), kita hanya boleh guna method yang hanya ada pada superclass sahaja.
Dalam erti kata lain, class Kucing tak boleh guna method lompat().
Jadi, kalau kita nak jugak guna method pada subclass walaupun type yang kita guna adalah superclass, kita kena buat casting.
Kucing mykucing = new KucingSiam();
KucingSiam mykucing2 = (KucingSiam) mykucing;
mykucing2.lompat();
atau secara ringkasnya,
Kucing mykucing = new KucingSiam();
((KucingSiam) mykucing).lompat();
Itu sahaja. Sekian.
2 comments:
dah habis ke tutorial semua dalam java? atau ada banyak lagi?
kalau nak panggil method, tapi superclass tu type array, macam mana ya?
Post a Comment