290 likes | 543 Views
ABSTRACT CLASS . Imam Fahrur Rozi. ABSTRACT CLASS. Abstract class adalah class yang mempunyai setidaknya satu abstract method. Abstract method adalah method yang tidak memiliki body ( hanya deklarasi method). Implementasi dari isi abstract method tersebut dilakukan pada subclass.
E N D
ABSTRACT CLASS Imam FahrurRozi
ABSTRACT CLASS Abstract class adalah class yang mempunyaisetidaknyasatu abstract method. Abstract method adalah method yang tidakmemiliki body (hanyadeklarasi method). Implementasidariisi abstract method tersebutdilakukanpada subclass
ABSTRACT CLASS Bila subclass method abstract tidakmengimplementasikanisisemua method maka subclass tersebutharusdideklarasikan abstract. Dan Deklarasi method abstract pada subclass tersebutbolehtidakdituliskankembali
ABSTRACT CLASS Abstract class tidakbisadibuatobjectnya Object hanyabisadibuatdari non-abstract class (concrete class) Konsekuensinyasuatu abstract class haruslahditurunkandimanapada subclass tersebutberisiimplementasidari abstract method yang adadisuperclass
ABSTRACT VS CONCRETE CLASS ABSTRACT CLASS : Tidakbisadiinstansiasimjdobjek. Kecualisetelahditurunkandulu. CONCRETE CLASS : Class yang bisalangsungdiinstansiasimenjadiobjek
KAPAN DIGUNAKAN ABSTRACT CLASS? Ketikadiinginkanmembuatsatu class yang hanyaberfungsisebagaiabstraksi (model yang umum) dantidakdiinginkanuntukdiinstansiasisuatuobjekdarinya.
NOTASI ABSTRACT CLASS DI UML Baikklasatau method yang bertipe abstract makaditulisdenganabjad miring / italic
MISAL Bentukbangundataramasihsangatluasdanabstrak, karenabentuknyablmspesifik. Jaditidakadaobjek yang inginlangsungdibuatdarinya Objek yang dibuatadalahobjekdariSegiTigaSikudanSegiEmpat
DEKLARASI ABSTRACT CLASS Denganmenuliskan keyword abstractdidepan keyword class Contoh: public abstact class BangunDatar{ }
DEKLARASI ABSTRACT METHOD Denganmemberikan keyword abstractsebelummenuliskantipedatafungsi/method Contoh public abstract void hitungLuas();
INGAT … Di dalam abstract class bolehadadeklarasi method non abstract (yang sudahadaisinya/implementasinya) Jikasuatudalamsuatu class ada method abstract, maka class tersebutjugaharusdideklarasikan abstract Unistanciable/takbisadiinstansiasi
INTERFACE • Terdiridarikonstantadan method tanpaimplementasi • Interface menyerupai class public interface NamaInterface{ //method tanpaimplementasi //definisikonstanta } • Public supayabisadiaksesdimanasaja • Tanpa public default hanyabisadiaksesdalamsatu package
INTERFACE Class yang mengimplementasikan interface, semuakonstantadan method interface akandimilikiolehclass ini. Method pada interface harusdiimplementasikanpada class yang mengimplementasikan interface ini. Bila class yang mengimplementasikan interface tidakmenginplemetasikansemua method dalaminterface, makaclasstersebutharusdideklarasikanabstract.
INTERFACE Kita bisamembuatsubinterfacedenganmenggunakankataextends. Satu class bolehmengimplementasikanlebihdarisatu interface. Bilasuatu class merupakan subclass danakanmengimplementasikan interface makakataextendsharuslebihduludariimplements
INTERFACE Method yang dideklarasikandidalam interface secaraotomatisadalah public dan abstract. Variable dalam interface secaraotomatisadalah public, static, dan final
DEKLARASI INTERFACE public interface NamaInterface{ //deklarasikonstanta //deklarasi abstract method }
CLASS IMPLEMENTS INTERFACE Contoh: public class SegiEmpat extends BangunDatar implements Resizable { …….. }
INTERFACE di UML Miripsimbol Class tapidiatasnamaada stereotype <<interface>>
IMPLEMENTATION di UML RelasiImplementasi (ketikasuatu Class implements ke Interface), miripseperti inheritance, tapigarispanahnya putus2.
This sounds like multiple inheritance. Not quite. The danger of multiple inheritance is that a class could inherit two distinct implementations of the same method. This is not possibble with interfaces because an interface method declaration supplies no implementation
A class can implement more than one interface. Not only can the SeaPlane fly, but it can also sail. The SeaPlane class extends the Airplane class, so it inherits that implementation of the Flyer interface. The SeaPlane class also implements the Sailer interface