Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Inheritance Matakuliah: T0984 / Algoritma dan Metode Object Oriented Programming II Pertemuan: 4 Tahun: 2008 Versi: 1/0.

Presentasi serupa


Presentasi berjudul: "Inheritance Matakuliah: T0984 / Algoritma dan Metode Object Oriented Programming II Pertemuan: 4 Tahun: 2008 Versi: 1/0."— Transcript presentasi:

1 Inheritance Matakuliah: T0984 / Algoritma dan Metode Object Oriented Programming II Pertemuan: 4 Tahun: 2008 Versi: 1/0

2 Bina Nusantara 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 Bina Nusantara Outline Materi Why Inheritance ? Superclass dan Subclass. Yang dapat dilakukan di Subclass. Keyword super. Contoh inheritance. Overriding VS Overloading. Final Class and Method

4 Bina Nusantara 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 Bina Nusantara Superclass dan Subclass Class yang mengambil dari class lain disebut Subclass ( derived class, extended class atau child class) Superclass disebut juga sebagai kelas induk (parent class) Subclass diberikan hak dan diwariskan untuk mengakses data member ( fields/variables, methods, and nested classes ) yang ada pada Superclass. Constructor bukan member jadi tidak diwariskan oleh Subclass. Memungkingkan menambah data member yang baru pada Subclass.

6 Bina Nusantara 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 Bina Nusantara Keyword super Keyword this menunjuk pada objek yang ada di dalam class. Keyword super menunjuk pada superclass dari kelas pemanggilnya. 2 cara penggunaan keyword super : –Memanggil superclass constructor. Contoh : super() atau super( parameters ) –Memanggil superclass method. Contoh : super.method( parameters ) public void cetakRadius(){ System.out.println(“Radius lingkaran adalah ” + supper.getRadius() ); } Sudah didefinisikan dahulu di superclass

8 Bina Nusantara Contoh Inheritance Kelas induk (superclass) : Bicycle.java public class Bicycle { public int gear; public int 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 void applyBrake ( int decrement ) { speed -= decrement; } public void speedUp ( int increment ) { speed += increment; }

9 Bina Nusantara 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 Bina Nusantara 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 Bina Nusantara 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 value method-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 value method-nya dengan yang ada superclass

12 Bina Nusantara 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 Bina Nusantara 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 Bina Nusantara Final Class and Method ( lanjutan... ) Method Final  Method yang tidak bisa di-override  Untuk mendeklarasikan final method, kita tulis, public final return_Type method_Name ( parameters ){... } Contoh : public final String getName(){ return name; } method static secara otomatis merupakan method final.

15 Bina Nusantara Referensi Introduction to Java Programming. 7ed. Liang Chapter 10, hal 357 Java Software Solution. 5ed. Lewis & Loftus Chapter 8, hal 467 Inheritance and polymorphism Learning Java Language - Inheritance Overriding and Hiding Method Final Class Final Method


Download ppt "Inheritance Matakuliah: T0984 / Algoritma dan Metode Object Oriented Programming II Pertemuan: 4 Tahun: 2008 Versi: 1/0."

Presentasi serupa


Iklan oleh Google