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( ) {