Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
Diterbitkan olehRisa Adit Telah diubah "9 tahun yang lalu
1
Inheritance Matakuliah : T0984 / Algoritma dan Metode Object Oriented Programming II Pertemuan : 4 Tahun : 2008 Versi : 1/0
2
Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu:
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 Bina Nusantara
3
Superclass dan Subclass. Yang dapat dilakukan di Subclass.
Outline Materi Why Inheritance ? Superclass dan Subclass. Yang dapat dilakukan di Subclass. Keyword super. Contoh inheritance. Overriding VS Overloading. Final Class and Method Bina Nusantara
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 Bina Nusantara
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 (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. Bina Nusantara
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 Bina Nusantara
7
Keyword this menunjuk pada objek yang ada di dalam class.
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 Bina Nusantara
8
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; Bina Nusantara
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 Bina Nusantara
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 Bina Nusantara
11
Overriding VS Overloading
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 Bina Nusantara
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 Bina Nusantara
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. Bina Nusantara
14
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. Bina Nusantara
15
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 Bina Nusantara
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.