1 / 29

Inheritance

Inheritance. Inheritance. Software reusability Menciptakan class baru dari class yang sudah ada - Menggunakan data dan behaviors (tingkah laku/method) dari class yang sudah ada - Ditambahkan dengan kemampuan yg lain Subclass extends superclass - Subclass Lebih khusus / spesialisasi

Download Presentation

Inheritance

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. Inheritance

  2. Inheritance • Software reusability • Menciptakan class baru dari class yang sudah ada - Menggunakan data dan behaviors (tingkah laku/method) dari class yang sudah ada - Ditambahkan dengan kemampuan yg lain • Subclass extends superclass - Subclass • Lebih khusus / spesialisasi • Behaviors/method diturunkan dari superclass • dapat diubah • Behaviors (method) tambahan

  3. Inheritace • Superclass and Subclass • Object suatu class “is an” object dari class yang lain • Contoh: Mahasiswa adalah Orang. • Class Mahasiswa diturunkan (inherits) dari class Orang • Orang: superclass • Mahasiswa: subclass • Superclass merepresentasikan kumpulan banyak objek yang lebih besar daripada kumpulan objeknya subclass • Contoh: • superclass: Kendaraan • Mobil, truk, perahu, sepeda, … • subclass: Mobil • Lebih kecil, kendaraan yg lebih spesifik

  4. Hierarki Inheritance • Hierarki Inheritance • Hubungan Pewarisan digambarkan seperti pohon keturunan • Tiap class bisa menjadi • superclass • Menyediakan data/behaviors untuk class lain ATAU • subclass • Mewarisi data/behaviors dari class lain

  5. CivitasAkademika Pegawai Mahasiswa Alumni Facultas Staf Administrator Dosen Hierarki pada Civitas Akademika pada sebuah Universitas

  6. Dua Dimensi Tiga Dimensi Lingkaran Segitiga Balok Kubus Limas Kotak Bangun Hierarki Inheritance untuk Bangun

  7. PENTING !!! • Cara membuat sub class classnm_KelasTurunanextends nm_KelasDasar { <tubuh kelas> }

  8. Pewarisan data menurut hak aksesnya

  9. Tanpa Inheritance

  10. Dengan Inheritance (Protected)

  11. Dengan Inheritance (Private)

  12. Method Overriding

  13. Penggunaan Keyword ‘Final’ dalam Inheritance • Penggunaan keyword ‘final’ dalam inheritance dapat diaplikasikan ke dalam method maupun class • Penggunaan ‘final’ pada method dalam konsep inheritance adalah untuk mencegah suatu method di-override di subclass-nya • Sedangkan penggunaan ‘final’ pada class dalam konsep inheritance adalah untuk mencegah suatu classmenjadisuperclass dari class/subclass yang lain (tidak dapat di-extends)

  14. Penggunaan Keyword ‘Final’ dalam method • Contoh final method :

  15. Penggunaan Keyword ‘Final’ dalam class • Contoh final class :

  16. Abstract Class • Abstract class merupakan superclass yang dibuatsebagai dasar untuk kemudian digunakan oleh subclass, di mana implementasi dari method yang tidak dibuat di dalam superclass-nya tersebut harusdiimplementasikan oleh masing-masing subclassnya sesuai dengan fungsinya masing-masing • Dengan demikian, superclass tersebut dapat memastikan bahwa subclass-nya pasti akan memiliki method yang telah ditentukan sebelumnya

  17. Abstract Class • Beberapa aturan tentang abstract class yang perlu diperhatikan adalah sebagai berikut : • Method yang tidak memiliki implementasi pada suatu class harus dideklarasikan sebagai abstrak dengan menggunakan keyword abstract

  18. Abstract Class • Kita tidakdapatmembuat instance (objek) dariabstract class, umumnya agar dapatdigunakanabstract class harusditurunkanterlebihdahulu, dimana class hasilturunannyatersebutharusmeng-overridesemuamethod abstrakdarisuperclassnyadanmembuatimplementasinya (sehingga method tersebutbukanlagimerupakan method abstrak) barukemudian subclass inidapatdibuat instance-nya

  19. Abstract Class • Jika ada satu saja methodabstrak (baik yang didapat dari superclass-nya sebagai hasil dari turunan maupun yang dideklarasikan di dalam class itu sendiri) yang tidakdiimplementasikan, maka class tersebut juga harus dideklarasikan sebagai abstrak dengan menggunakan keyword abstract

  20. Abstract Class

  21. Abstract Class • Hasil eksekusi program :

  22. Abstract Class • Seperti yang terlihat pada contoh program yang mengunakan konsep Abstract Class tidak ada perintah “new A();” karena memang kita tidak diperbolehkan membuat instance (objek) dari abstract class (class A)->lihat aturan abstract class nomor 2 • Class B pada contoh sebelumnya meng-override abstract method milik superclassnya (class A) dan membuat implementasinya sehingga class B tersebut dapat dibuat instance-nya

  23. Abstract Class • Jika seandainya class B diatas tidak meng-override dan membuat implementasi dari method abstrak milik superclass-nya, maka class B tersebut juga harus dideklarasikan sebagai class abstrak. Berarti ia masih memiliki method abstrak yang didapat dari superclass-nya (lihat aturan abstract class nomor 3), sehingga dalam hal ini class B tersebut tidak dapat dibuat instance-nya (lihat aturan abstract class nomor 2)

  24. Latihan Abstract Class • Abstract class bangun ruang • Mempunyai method abstract set alas dan set tinggi • Mempunyai method abstract get alas dan get tinggi • Mempunyai method abstract get luas • Class segitiga turunan bangun ruang • Punya atribut alas dan tinggi • Implementasi method set alas dan set tinggi • Implementasi method get alas dan get tinggi • Implementasi method get luas  ½ (alas*tinggi)

  25. Latihan Inheritance • Class segitiga • Punya atribut alas dan tinggi • Implementasi method set alas dan set tinggi • Implementasi method get alas dan get tinggi • Implementasi method get luas  ½ (alas*tinggi) • Class prisma turunan dari segitiga • Punya atribut tinggi prisma • Punya method set tinggi prisma • Punya method get tinggi prisma • Punya method get volume  luas alas * tinggi • Class utama • Buat obyek prisma • Isikan atribut-atribut alas, tinggi, dan tinggi prisma • Tampilkan luas segitiga • Tampilkan volume prisma

More Related