Sunday, October 19, 2014

Tutorial 46 - Object Casting

Tutorial ini merupakan permintaan salah seorang yang mengikuti blog ini.

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:

Unknown said...

dah habis ke tutorial semua dalam java? atau ada banyak lagi?

Unknown said...

kalau nak panggil method, tapi superclass tu type array, macam mana ya?

Post a Comment

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Hot Sonakshi Sinha, Car Price in India