Thursday, June 5, 2014

Tutorial 38 - Constructor Overloading (part 2)

Tutorial ni adalah sambungan dari Tutorial 37.

Kalau perasan dalam class Time ada satu benda yang nampak leceh, setiap constructor tu kita kena tulis balik isi yang sama:

hour = h;
minute = m;
second = s;


Kalau macam ni takpe lagi ada tiga baris je, nanti macam mana kalau ada berpuluh-puluh baris? Naya dibuatnya.

Untuk selesaikan masalah ni kita akan guna keyword this, macam ni:

class Time selepas diringkaskan


Ingat lagi dari Tutorial 36?

Kat Tutorial 36 keyword this merujuk 'this class', ataupun 'class ini'.

Kan nama untuk constructor sama dengan nama class, jadi bila kita tulis this dengan kurungan,

this();


secara automatik dia akan panggil constructor.

Dekat sini kita tulis,

this(0, 0, 0);


maksudnya kita akan guna constructor yang ada tiga parameter, iaitu

public Time(int h, int m, int s)


dan h akan jadi 0, m jadi 0, s pun jadi 0.


Sekian. Kalau kurang faham, bukak dua-dua tutorial, Tutorial 37 dan 38, dan bandingkan.

3 comments:

Unknown said...

error la kat semua line this():
dia tulis, recursive constructor invocation.
apa salah tuu

Unknown said...

okay dah jumpa. haha

Unknown said...

tadi tu terlupa buat constructor untuk ketiga2 parameter

Post a Comment

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