Inheritance.

Slides:



Advertisements
Presentasi serupa
PERTEMUAN 4 PEMROGRAMAN API OOP Concept mudafiqriyan.com.
Advertisements

Nur Hayatin, S.ST Jurusan Teknik Informatika Universitas Muhammadiyah Malang Sem Genap 2010.
ABSTRACT CLASS Imam Fahrur Rozi.
Abstract Class & Interface
Pemrograman JAVA (TIB09)
Inheritance Ery Setiyawan Jullev A.
1.Polymorphism Polymorphism adalah konsep yang memungkinkan mendefinisikan metod pada class anak (sub class) yang memiliki definisi sama dengan metod.
7 Rekayasa Sistem Konsep Utama OOP Dedy Alamsyah, S.Kom.
Encapsulation, Inheritance, polymorphism, dan interface
INHERITANCE, POLYMORPHISM, DAN INTERFACE
Pemrograman Berorientasi Objek
Inheritance (Pewarisan)
ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM
Abstract Class.
Inheritance (Pewarisan)
Pemrograman Berorientasi Obyek dengan JAVA Interface
Object Oriented Programming with JAVA 2011/2012
INHERITANCE / PEWARISAN
Inheritance Matakuliah : T0984 / Algoritma dan Metode Object Oriented Programming II Pertemuan : 4 Tahun : 2008 Versi : 1/0.
Inheritance, polymorphism, dan interface
Pemrograman Berorientasi Obyek (PBO)
INHERITANCE (Oleh : Nur Hayatin, S.ST)
Algoritma &Pemrograman 1
Pertemuan 6 PEWARISAN AND POLYMORPHISM
Polymorphism Pertemuan 9 Matakuliah: M0864/Programming I Tahun: 2009.
POLYMORPHISM, ABSTRACT CLASS DAN INTERFACE
Perancangan dan Pemrograman Web
INHERITANCE (PEWARISAN)
Access Modifier.
Inheritance dan Kata Kunci static
Inheritance (Pewarisan)
Pemograman Berorientasi Objek
Encapsulation, Inheritance, Polymorphism
Outline: Pewarisan/Inheritance Polymorphism
Pemrograman Berorientasi Objek
Object Oriented Programming
POLYMORPHISM, ABSTRACT CLASS DAN INTERFACE
Inheritance Pertemuan 8
Pewarisan Disusun Oleh: Reza Budiawan Untuk:
Abstract Class.
POLYMORPHISM.
Algoritma & Pemrograman 1
Association, Composition dan Inheritance
D3 TKJ Teknik Elektro Unsoed 2007
PEWARISAN (Inheritance)
Pemrograman Berorientasi Objek
Object Oriented Programming
Matakuliah : M0864/Programming I
Pemrograman Berorientasi Objek
Inheritance.
Inheritance (Turunan)
INHERITANCE SUSSI.
INHERITANCE (PEWARISAN)
Pewarisan (Inheritance)
Encapsulation / Visibility, Getter Setter, Pewarisan, Overloading dan Overriding PBO.
Visibility, Getter Setter, Pewarisan, Overloading dan Overriding
Visibility, Getter Setter, Pewarisan, Overloading dan Overriding
Subclassing and Inheritance
Pemrograman Berorientasi Object
Algoritma dan Struktur Data
Polimorphism Dosen Pengampu : Nur Iksan.
Pemrograman Berorientasi Object
Encapsulation / Visibility, Getter Setter, Pewarisan, Overloading dan Overriding Pemrograman.
UML Class Diagram.
Pemrograman Berorientasi Objek
@kovazzevic | SMKN 24 Jakarta
Pertemuan 5 Inheritance
Encapsulation / Visibility, Getter Setter, Pewarisan, Overloading dan Overriding PBO.
Pemrograman Berorientasi Obyek (PBO) Disusun oleh : Khairan Marzuki, M.Kom Fakultas Teknik dan Kesehatan, Universitas Bumigora.
Bahasa Pemrograman (Pemrograman Visual)
Transcript presentasi:

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 Behaviors/method diturunkan dari superclass dapat diubah Behaviors (method) tambahan

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

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

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

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

PENTING !!! Cara membuat sub class class nm_KelasTurunan extends nm_KelasDasar { <tubuh kelas> }

Pewarisan data menurut hak aksesnya Atribut Akses Diwariskan Pada public Kelas Turunan protected private Tidak Ada Tanpa atribut Kelas Turunan dalam satu paket

Tanpa Inheritance

Dengan Inheritance (Protected)

Dengan Inheritance (Private)

Method Overriding

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 class menjadi superclass dari class/subclass yang lain (tidak dapat di-extends)

Penggunaan Keyword ‘Final’ dalam method Contoh final method :

Penggunaan Keyword ‘Final’ dalam class Contoh final class :

Abstract Class Abstract class merupakan superclass yang dibuat sebagai dasar untuk kemudian digunakan oleh subclass, di mana implementasi dari method yang tidak dibuat di dalam superclass-nya tersebut harus diimplementasikan 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

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

Abstract Class Kita tidak dapat membuat instance (objek) dari abstract class, umumnya agar dapat digunakan abstract class harus diturunkan terlebih dahulu, di mana class hasil turunannya tersebut harus meng-override semua method abstrak dari superclassnya dan membuat implementasinya (sehingga method tersebut bukan lagi merupakan method abstrak) baru kemudian subclass ini dapat dibuat instance-nya

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

Abstract Class

Abstract Class Hasil eksekusi program :

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

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)

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)

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