I mplementasi Interface
10.2 I mplementasi Interface
Berikut adalah deklarasi implementasi class yang memakai inter face yang saya sederh anakan:
c l as s c l as s - name: i nt er f ac e- name1, i nt er f ac e- name2{ / / c l as s - body
Class yang mengimplementasikan interface wajib mengimplementasikan semua method secara public. Inteface yang diimplementasika n boleh lebih dari satu yang dipisahkan oleh ko ma. Berikut ini adalah conto h implemantasi interface mesin cuci:
us i ng Sy s t em;
publ i c i nt er f ac e I Mes i nCuc i 1
{ v oi d Set Cuc i Ti mer ( Ti mer t i mer ) ; v oi d Set I nput ( pa r ams Baj u[ ] baj us ) ; v oi d Set Sabun( Sa bun s abun) ; v oi d Cuc i ( ) ; v oi d Set Ker i ngk anTi mer ( Ti mer t i mer ) ; v oi d Ker i ngk an( ) ; Baj u[ ] Get Baj u( ) ;
publ i c c l as s Ti mer {
publ i c Ti mer ( i nt v al ) {
_t i mer =v al ;
} publ i c i nt Val ue {
r et ur n _t i mer ; } get {
} pr i v at e i nt _t i mer ;
publ i c c l as s Baj u { publ i c c l as s Baj u {
name; _name=
} publ i c s t r i ng Name {
get { r et ur n _name; }
} pr i v at e s t r i ng _name; publ i c ov er r i de s t r i ng ToSt r i ng( ) {
r et ur n " Tes t " + _name;
publ i c c l as s Sabun {
publ i c Sabun( s t r i ng name) {
_name=name;
publ i c s t r i ng Name
get { r et ur n _name; }
} pr i v at e s t r i ng _name;
publ i c c l a s s MCMer ek Fat ur : I Mes i nCuc i {
pr i v at e s t r i ng _l ogo; pr i v at e Ti mer _c uc i Ti mer ; pr i v at e Ti mer _k er i ngk anTi mer ; pr i v at e Baj u[ ] _dr um; pr i v at e Sabun _s abun; publ i c MCMer ek Fat ur ( ) {
_l ogo=" Fat ur Oy e" ;
} publ i c s t r i ng Get Logo( ) {
r et ur n t hi s . _l ogo + " ( Ngebl i ng he. . he. . ) " ; }
#r egi on i mpl ement as i I Mes i nCuc i 3
publ i c v oi d Set Cuc i Ti mer ( Ti mer t i mer ) {
_c uc i Ti mer =t i mer ;
} publ i c v oi d Set Ker i ngk anTi mer ( Ti mer t i mer ) {
_k er i ngk anTi mer =t i mer ;
} publ i c v oi d Set I nput ( par ams Baj u[ ] baj us ) {
r um=baj us ; _d
} publ i c v oi d Set Sabun( Sabun s abun) {
_s abun=s abun;
} publ i c v oi d Cuc i ( ) {
Cons ol e. Wr i t eLi ne( " Anda Sedang Menggunak an { 0} " ,
t hi s . Get Logo( ) ) ; t hi s . Get Logo( ) ) ;
_s abun. Name) ;
Co ns ol e. Wr i t eLi ne( " Mul ai menc uc i i i . . . . " ) ;
f or ( i nt i =1; i <=_c uc i Ti mer . Val ue; i ++) {
Cons ol e. Wr i t eLi ne( " Put ar an k e { 0} " , i ) ;
} Cons ol e. Wr i t eLi ne(
" Pr i i i i t , Pr i i i i t menc uc i s el es ai " ) ; Cons ol e. Wr i t eLi ne(
" Coba c hec k j angan- j angan gos ong" ) ; } publ i c v oi d Ker i ngk an( ) {
Cons ol e. Wr i t eLi ne( " Mul ai menger i ngk an. . . . " ) ;
f or ( i nt i =1; i <=_k er i ngk anTi mer . Val ue; i ++)
Cons ol e. Wr i t eLi ne( " Put ar an k e { 0} " , i ) ;
} Cons ol e. Wr i t eLi ne(
" Pr i i i i t , Pr i i i i t menger i ngan s el es ai " ) ;
Cons ol e. Wr i t eLi ne( " Aduhh. . . anda l upa k as i h ai r y a t adi ! ! #$%$^ * " ) ;
} publ i c Baj u[ ] Get Baj u( ) {
Cons ol e. Wr i t eLi ne( " Ngi i i ng buk a t ut up" ) ;
f or ( i nt i =0; i <_dr um. Lengt h; i ++) { / / Baj u b =_dr um[ i ] as Baj u; Cons ol e. Wr i t eLi ne( " Kel uar k an { 0} "
, _dr um[ i ] . Name) ; }
Cons ol e. Wr i t eLi ne( " Ngui i i nnng Tut up Kembal i " ) ;
Cons ol e. Wr i t eLi ne( "T er ai mak as i h Anda Tel ah Menggunak an { 0} " , t hi s . Get Logo( ) ) ;
r et ur n _dr um;
} #endr egi on
publ i
c c l as s MCMer ek Rahman: I Mes i nCuc i { pr i v at e s t r i ng _name; pr i v at e Ti mer _c uc i Ti mer ; pr i v at e Ti mer _k er i ngk anTi mer ; pr i v at e Baj u[ ] _dr um; pr i v at e Sabun _s abun; publ i c MCMer ek Rahman( ) {
_name=" Rahman Was hi ng Mac hi ne" ;
} publ i c s t r i ng Name {
get { r et ur n t hi s . _name; }
#r egi on i mpl ement as i I Mes i nCuc i 5
publ i c v oi d Set Cuc i Ti mer ( Ti mer t i mer ) publ i c v oi d Set Cuc i Ti mer ( Ti mer t i mer )
_c uc i Ti mer =t i mer ;
} publ i c v oi d Set Ker i ngk anTi mer ( Ti mer t i mer ) {
i f ( t i mer . Val ue<0 | | t i mer . V al ue>5) t i mer =new Ti mer ( 5) ;
_k er i ngk anTi me r =t i mer ;
} publ i c v oi d Set I nput ( par a ms Baj u[ ] baj us ) {
_dr um=baj us ;
} publ i c v oi d Set Sabun( S abun s abun) {
_s abun=s abun;
} publ i c v oi d Cuc i ( ) {
Cons ol e. Wr i t eLi ne( " Anda Sedang Menggunak an { 0} " , t hi s . Name) ;
Cons ol e. Wr i t eLi ne( " Sedot ai r . . . . . . . . . . . " ) ; Cons ol e. Wr i t eLi ne( " Mas uk k an s abun { 0} " ,
_s abun. Name) ;
Cons ol e. Wr i t eLi ne( " Mul ai menc uc i i i . . . . " ) ;
i nt i =1; i <=_c uc i Ti mer . Val ue; i ++) f or ( {
Cons ol e. Wr i t eLi ne( " Put ar an k e { 0} k e k anan" , i ) ; Cons ol e. Wr i t eLi ne( " Put ar an k e { 0} k e k i r i " , i ) ;
Cons ol e. Wr i t eLi ne( " Put ar an k e { 0} s edot k e bawah" , i ) ;
} Cons ol e. Wr i t eLi ne( " Menc uc i s el es ai " ) ; Cons ol e. Wr i t eLi ne( " Kel uar k an Ai r " ) ; Cons ol e. Wr i t eLi ne( " Mas uk k an Ai r " ) ; Cons ol e. Wr i t eLi ne( " Put ar Kembal i " ) ;
Cons ol e. Wr i t eLi ne( " Kel uar k an Ai r " ) ;
} publ i c v oi d Ker i ngk an( ) {
Cons ol e. Wr i t eLi ne( " Mul ai menger i ngk an. . . . " ) ;
f or ( i nt i =1; i <=_k er i ngk anTi mer . Val ue; i ++)
{ Cons ol e. Wr i t eLi ne( " Put ar dengan k ec epat an { 0} " , i ) ;
Cons ol e. Wr i t eLi ne( " Penger i ngan s el es ai " ) ;
} publ i c Baj u[ ] Get Baj u( ) {
ns ol e. Wr i t eLi ne( " Buk a penut up" ) ; Co
f or ( i nt i =0; i <_dr um. Lengt h; i ++) { / / Baj u b =_dr um[ i ] as Baj u; Cons ol e. Wr i t eLi ne ( " Kel uar k an { 0} " , _dr um[ i ] . Name) ;
Cons ol e. Wr i t eLi ne( " Kembal i k an Penut up" ) ;
Cons ol e. Wr i t eLi ne( " Ter i ma k as i h anda t el ah menggunak a n { 0} " ,
t hi s . Name) ; r et ur n _dr um;
} #endr egi on
publ i c c l as s Pembant u {
pr i v at e s t r i ng _name; pr i v at e obj ec t [ ] _k er anj ang; publ i c Pembant u( s t r i ng name) {
_name=name;
} publ i c s t r i ng Name {
get { r et ur n _name; }
} publ i c v oi d Menc uc i ( I Mes i nCuc i mc ,
Sabun s abun, par ams Baj u[ ] baj us ) {
mc . Set Sabun( s abun) ; mc . Set I nput ( baj us ) ; mc . Set Cuc i Ti mer ( new Ti mer ( 20) ) ; mc . Cuc i ( ) ; mc . Set Ker i ngk anTi mer ( new Ti mer ( 15) ) ; mc . Ker i ngk an( ) ; _k er anj ang=mc . Get Baj u( ) ;
} publ i c v oi d Menj emur ( ) {
Cons ol e. Wr i t eLi ne(
" { 0} menj emur baj u s ebany ak { 1} buah. " ,
t hi s . Name, _k er anj ang. Lengt h) ;
f or eac h( Baj u b i n _k er anj ang) {
Cons ol e. Wr i t eLi ne( " - - - Menj emur { 0} . . . " , b. Name) ;
} ons ol e. Wr i t eLi ne( " Sel es ai menj emur " ) ; C
publ i c c l as s Uni t Tes t {
publ i c s t at i c v oi d Mai n( ) {