1 / 15

Inheritance

Inheritance. Matakuliah : T0984 / Algoritma dan Metode Object Oriented Programming II Pertemuan : 4 Tahun : 2008 Versi : 1/0. Learning Outcomes. Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu: Menjelaskan konsep – konsep pewarisan sifat dari suatu kelas di Java

shay
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 Matakuliah : T0984 / Algoritma dan Metode Object Oriented Programming II Pertemuan : 4 Tahun : 2008 Versi : 1/0

  2. Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu: • Menjelaskan konsep – konsep pewarisan sifat dari suatu kelas di Java • Mendeskripsikan superclass dan subclass • Melakukan override method dari superclass

  3. Outline Materi • Why Inheritance ? • Superclass dan Subclass. • Yang dapat dilakukan di Subclass. • Keyword super. • Contoh inheritance. • Overriding VS Overloading. • Final Class and Method

  4. Why Inheritance ? • Dapat memperoleh variabel – variabel dan fungsi-fungsi dari kelas lainnya yang sudah ada. • Powerful feature. • Deklarasi secara implicit maupun explicit. • Semua class di Java termasuk class yang membangun Java API, merupakan turunan dari class Object

  5. Superclass dan Subclass • Class yang mengambil dari class lain disebut Subclass ( derived class, extended class atau child class) • Superclass disebut juga sebagai kelas induk (parentclass) • Subclass diberikan hak dan diwariskan untuk mengakses data member ( fields/variables, methods, and nestedclasses ) yang ada pada Superclass. • Constructor bukan member jadi tidak diwariskan oleh Subclass. • Memungkingkan menambah data member yang baru pada Subclass.

  6. Yang Dapat Dilakukan di Subclass • Sebuah Subclass diwariskan semua hak akses baik secara public maupun protected oleh Superclass-nya, tidak memandang dimana package dari subclass itu berada. • Jika subclass memiliki package yang sama dengan superclass maka subclass juga akan mendapat pewarisan member package-private dari superclass-nya. • Gunakan extends untuk mengakses kelas induknya. • Tidak diperbolehkan untuk menerima pewarisan secara ganda (multiple inheritance) lebih dari 1 kelas induk

  7. Keyword super • Keyword this menunjuk pada objek yang ada di dalam class. • Keyword super menunjuk pada superclass dari kelas pemanggilnya. • 2 cara penggunaan keywordsuper : • Memanggil superclassconstructor. • Contoh : super() atau super( parameters ) • Memanggil superclassmethod. • Contoh : super.method( parameters ) public void cetakRadius(){ System.out.println(“Radius lingkaran adalah ” + supper.getRadius() ); } Sudah didefinisikan dahulu di superclass

  8. Contoh Inheritance • Kelas induk (superclass) : Bicycle.java public class Bicycle { publicint gear; publicint speed; // constructor dari kelas Bicycle dengan pasing parameter public Bicycle( int startSpeed, int startGear ) { gear = startGear; speed = startSpeed; } public void setGear ( int newValue ) { gear = newValue; } public voidapplyBrake ( int decrement ) { speed -= decrement; } public void speedUp ( int increment ) { speed += increment; } }

  9. Contoh Inheritance ( lanjutan …) • Kelas anak (Subclass) : MountainBike.java public class MountainBike extends Bicycle { // Kelas MountainBike menambahkan 1 field public int seatHeight; // Kelas MountainBike memiliki 1 constructor public MountainBike( int startHeight, int startSpeed, int startGear ) { super(startCadence, startSpeed, startGear); seatHeight = startHeight; } // Kelas MountainBike menambahkan 1 fungsi public void setHeight ( int newValue ) { seatHeight = newValue; } } extends Bicycle = turunan dari class Bicycle

  10. Keuntungan Inheritance Keuntungannya dalam OOP : Reusability • Ketika behavior (method) dideklarasikan dalam superclass, behavior tersebut otomatis diwariskan ke seluruh subclass • Dapat meng-enkode method hanya sekali dan method tersebut dapat digunakan oleh seluruh subclass • Sebuah subclass hanya perlu mengimplementasikan perbedaan antara dirinya sendiri dan parent-nya

  11. Overriding VS Overloading • Overriding : • Subclass memodifikasi method yang telah didefinisikan oleh superclass. • Fungsi yang dideklarasi di subclass harus sama signature-nya (nama, jumlah dan tipe data parameter) dan return valuemethod-nya dengan yang ada superclass • Overloading : • Lebih dari satu fungsi yang memiliki nama yang sama dengan yang ada di superclass. • Fungsi yang dideklarasi di subclass tidak harus sama signature-nya (nama, jumlah dan tipe data parameter) dan return valuemethod-nya dengan yang ada superclass

  12. Overriding VS Ocerloading • Contoh Overriding public class Hewan { public void cetak(){ System.out.println("Ini adalah method dari kelas Hewan"); } } Kelas Induk public class Bebek extends Hewan{ public void cetak (){ System.out.println("Ini adalah kelas Bebek"); } public static void main(String [] args){ Bebek objB = new Bebek(); Hewan objH = new Hewan(); objH.cetak(); objB.cetak(); } } Fungsi cetak yang override dari fungsi cetak() superclass-nya. Memiliki signature yang sama, Begitu juga dengan tipe pengembalian fungsinya

  13. Final Class and Method Final Class • Class yang tidak bisa di-extends • Untuk mendeklarasikan final class, kita tulis, public final ClassName{ . . . } Contoh:public final class Person { . . . } Contoh lain dari final class adalah class wrapper dan String.

  14. Final Class and Method ( lanjutan ... ) Method Final • Method yang tidak bisa di-override • Untuk mendeklarasikan final method, kita tulis, public finalreturn_Typemethod_Name ( parameters ){ . . .} Contoh : public final StringgetName(){ return name; } method static secara otomatis merupakan method final.

  15. Referensi • Introduction to Java Programming. 7ed. Liang. 2009. Chapter 10, hal 357 • Java Software Solution. 5ed. Lewis & Loftus. 2007. Chapter 8, hal 467 • Inheritance and polymorphism http://home.cogeco.ca/~ve3ll/jatutor5.htm • Learning Java Language - Inheritance http://java.sun.com/docs/books/tutorial/java/IandI/subclasses.html • Overriding and Hiding Method http://java.sun.com/docs/books/tutorial/java/IandI/override.html • Final Class http://www.tech-faq.com/final-class.shtml • Final Method http://www.tech-faq.com/final-method.shtml

More Related