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

Slides:



Advertisements
Presentasi serupa
Pemrograman Berorientasi Objek
Advertisements

Nur Hayatin, S.ST Jurusan Teknik Informatika Universitas Muhammadiyah Malang Sem Genap 2010.
POLIMORFISME Imam Fahrur Rozi 01.
Abstract Class & Interface
Pemrograman JAVA (TIB09)
Workshop SCS: Java Game Programming
Pemrograman Berorientasi Objek
Pemrograman Java Pewarisan / Inheritance Polimorfisme Pemrograman Java.
Inheritance Ery Setiyawan Jullev A.
Inheritance (Pewarisan)
1.Polymorphism Polymorphism adalah konsep yang memungkinkan mendefinisikan metod pada class anak (sub class) yang memiliki definisi sama dengan metod.
POLIMORFISM Ery Setiyawan Jullev A.
Overriding, Overloading, Polymorphism
Pertemuan 8 Pemrograman Berbasis Obyek Oleh Tita Karlita
Encapsulation, Inheritance, polymorphism, dan interface
Variabel, Method & Constructor Oleh : Nur Hayatin, S.ST Teknik Informatika – UMM 2011.
INHERITANCE, POLYMORPHISM, DAN INTERFACE
Pewarisan, Polimorfisme, dan Interface
Pemrograman Berorientasi Objek
Inheritance (Pewarisan)
Lecture 2 Object-oriented Programming Concepts Erick Pranata © Sekolah Tinggi Teknik Surabaya 1.
Pemrograman Berorientasi Obyek Oleh Tita Karlita
Pertemuan : Object Oriented Programming
OBJECT ORIENTED PROGRAMMING YANES HARDIANTO SUI Politeknik Manufaktur Astra 2011.
Pemrograman Berorientasi Obyek dengan JAVA Interface
Inheritance Nana Ramadijanti Laboratorium Computer Vision Politeknik Elekltronika Negeri Surabaya PENS-ITS 2009.
07 Advanced Class Features
Object Oriented Programming with JAVA 2011/2012
Polymorphism (bag. 2).
Inheritance Konsep Inheritance Protected Member
OOP Java 06 Polymorphism.
OOP Java - Tj Konsep Dasar OOP.
Inheritance, polymorphism, dan interface
1 Pertemuan 9 Inheritance Matakuliah: T0044/Pemrograman Berorientasi Obyek Tahun: 2005 Versi: 1.0.
Kelas Lanjut 2 Oleh Tita Karlita.
Class and Object Matakuliah : XXXX / Algoritma dan Metode Object Oriented Programming II Pertemuan : 2 Tahun : 2008 Versi : 1/0.
INHERITANCE (Oleh : Nur Hayatin, S.ST)
OOP Java Minggu 2b Dasar OOP. Class (1) Deklarasi class : [ *] class { [ *] } Cat : [] = optional, * = repeat 0-N.
Algoritma &Pemrograman 1
File Matakuliah: XXXX / Algoritma dan Metode Object Oriented Programming II Pertemuan: 9 Tahun: 2008 Versi: 1/0.
Polymorphism Matakuliah : T0984 / Algoritma dan Metode Object Oriented Programming II Pertemuan : 5 Tahun : 2008 Versi : 1/0.
MATERI IV OOP (Object Oriented Programming) Chapter II.
Pertemuan 6 PEWARISAN AND POLYMORPHISM
METHODS Matakuliah: T0974 / Algoritma dan Metode Object Oriented Programming I Tahun: 2008 Versi: 1/0.
Polymorphism Pertemuan 9 Matakuliah: M0864/Programming I Tahun: 2009.
Access Modifier.
Inheritance dan Kata Kunci static
POLYMORPHISM (KEBANYAKRUPAAN)
Encapsulation, Inheritance, Polymorphism
Pemrograman Berorientasi Objek
POLYMORPHISM, ABSTRACT CLASS DAN INTERFACE
@kovazzevic | SMKN 24 Jakarta
POLYMORPHISM (KEBANYAKRUPAAN)
Inheritance Pertemuan 8
Pewarisan Disusun Oleh: Reza Budiawan Untuk:
Algoritma & Pemrograman 1
Pewarisan (Inheritance)
Association, Composition dan Inheritance
Inheritance Pertemuan 21
MEMBUAT CLASS SENDIRI 2.
Matakuliah : M0864/Programming I
Inheritance.
INHERITANCE SUSSI.
Pemrograman Berorientasi Object
Pewarisan (Inheritance)
Matakuliah : M0074/PROGRAMMING II Tahun : 2005 Versi : 1/0
Visibility, Getter Setter, Pewarisan, Overloading dan Overriding
Subclassing and Inheritance
Polimorphism Dosen Pengampu : Nur Iksan.
Pertemuan 5 Inheritance
Transcript presentasi:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 Bina Nusantara