1 / 22

Kelas Abstrak dan Interface

Kelas Abstrak dan Interface. Kelas Abstrak. Contoh public abstract class Animal { private int numOfFoots ; private Color color ; public abstract void walk(); public abstract void sound(); }. public class Cat extends Animal { public void walk() {

winola
Download Presentation

Kelas Abstrak dan Interface

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. KelasAbstrakdan Interface

  2. KelasAbstrak

  3. Contoh public abstract class Animal { private intnumOfFoots; private Color color; public abstract void walk(); public abstract void sound(); }

  4. public class Cat extends Animal { public void walk() { System.out.println("cat walks using 4 legs"); } public void sound() { System.out.println("miaouw"); } }

  5. public class Chicken extends Animal { public void walk() { System.out.println("chicken walks using 2 legs"); } public void sound() { System.out.println("kukuruyuk"); } }

  6. Padakode program diatasdideklarasikankelas Animal yang abstrak, dimanadidalamnyadideklarasikanduavariabelyaitunumOfFootsdan color. Selainitu, jugadideklarasikanduabuahmethod, yaitu walk(), dan sound(). • Methoddidalamkelas Animal tidakdidefiniskanimpelementasimethod, denganharapanbahwaobyekturunanhewan yang spesifik, seperti Chicken dan Cat akanmenyediakanimplementasinya yang spesifikdengankondisimasing-masinghewan.

  7. PadaContohdiatas, methodabstrakwalk() dansound() dalamkelas Animal diimplementasikanolehkelasChickendanCat. • Kelasabstrakjugabolehtidakmemilikimethodabstraksebagaimanaditunjukkanpadacontoh program berikut.

  8. public abstract class Vehicle { private String type; public String getType() { return type; } }

  9. Apabilaadasatusajamethod yang dideklarasikandalamsebuahkelassebagaimethodabstrak, makakelastersebutharusdideklarasikan abstract. • Methodabstrakadalahmethod yang sudahdideklarasikan, tetapibelumdiimplementasikan. Sebuahmethodditulisdengankatakunci abstract ketikakelasturunan (subclass) dibawahnyamenyediakanimplementasimethodtersebut

  10. Methodabstrakditandaidenganmodifierabstract, tidakmemilikiimplementasi, dandiakhiridengantandatitikkoma ( ; ). public abstract void myAbstractMethod();

  11. Interface • Interfacemendefinisikanaturanperilaku (protocol of behavior) yang dapatdiimplementasikanolehkelasmanapun. • Interfacemendefinisikansatu set methodtanpamenyediakanimplementasinya. • Sebuahkelas yang mengimplementasisebuahinterfaceterikatkontrakolehinterfacetersebutuntukmengimplementasisemuamethod yang adadidalaminterface. • Dengankata lain, kelastersebutterikatuntukmeng-implementasikanperilakutertentu yang tertulisdalaminterface. Secarasubstansi, interfacemerupakankumpulandarimethodabstrakdankonstanta.

  12. Interfacememilikikemiripandengankelasabstrak, dimanakeduanyamemuatmethodabstrak. Perbedaanpentingantarainterfacedankelasabstrakadalah : • Sebuahinterfacetidakdapatmembuatimplementasisatumethod pun, sementarakelasabstrakdapatmembuatimplementasisatuataulebih method; • Sebuahkelasdapatmengimplementasibeberapainterface, tetapiiahanyadapatmeng-extendssatusuperclass. • Interfacebukanmerupakanbagiandarihirarkikelas. Duakelas yang tidakberhubungandalamjalurhirarkikelasdapatmengimplementasiinterface yang sama.

  13. Mendeklarasiinterface • Misalkanadasekumpulanobyek yang memilikikemampuan yang sama, yaitumerekasemuadapatterbang. Untukitudapatdibuatkansebuahinterfacepublik, yang dinamakanFlyer, yang memilikitigaoperasitakeOff, land, danfly.

  14. Panahdengangarisputus-putusdiatasmenggambarkankelas Airplane mengimplementasikaninterface Flyer. Kode Java daridisainkelasdiatasditunjukkansebagaiberikut.

  15. public interface Flyer { public void takeOff(); public void land(); public void fly(); }

  16. public class Airplane implements Flyer { public void takeOff() { //accelerate until lift-off //raise landing gear } public void land() { //lower landing gear //decelerate and lower flaps until touch-down //apply breaks } public void fly() { //keep those engines running } }

  17. Satuinterface Flyer dapatdiimplementasikanolehbeberapakelas. Sebagaicontoh, pesawatterbang (Airplane), burung (Bird), dan superman (Superman), semuanyadapatterbang.

  18. Multiple Interface Sepertitelahdijelaskandisebelumnya, sebuahkelasdapatmengimplementasilebihdarisatuinterface. Sebagaicontoh, sebuahSeaPlane(pesawat yang dapatmendaratdanterbangdi/dari air) tidakhanyadapatterbang, iajugadapatberlayar. KelasSeaPlane me-extendskelasAirplanedanmengimplementasiinterfaceFlyer. KelasSeaPlanejugamengimplementasiinterfaceSailer.

  19. Biasanyainterfacedigunakanuntuk: • mendeklarasikanmethod yang akandiimplementasikanolehsatuataubeberapakelas. • menunjukkaninterfacesebuahobyekkepubliktanpamenunjukkanisikelassebenarnya. • menangkapkesamaandiantarabeberapakelastanpaperlumemasukkannyadalamhirarkikelas (superclass - subclass). • mensimulasikankonseppewarisanbanyakkelasdenganmendeklarasikankelas yang mengimplementasikanbeberapainterfacesekaligus.

More Related