Inheritance Ery Setiyawan Jullev A.

Slides:



Advertisements
Presentasi serupa
Membuat class sendiri.
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)
Inheritance.
Workshop SCS: Java Game Programming
Pemrograman Berorientasi Objek
SLIDE OTOMATIS PINDAH DALAM WAKTU 4-5 MENIT. A:kiriB:kanan Deklarasikan sebuah variabel dengan nama ‘isi’ yang mempunyai type array of double dengan ukuran.
Overriding, Overloading, Polymorphism
INHERITANCE.
ABSTRACT CLASS & INTERFACE
Inheritance (Pewarisan)
POLIMORFISM Ery Setiyawan Jullev A.
Overriding, Overloading, Polymorphism
POLIMORFISME 2 Imam Fahrur Rozi 01.
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
Inheritance (Pewarisan)
ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM
Pemrograman Berorientasi Obyek Oleh Tita Karlita
POLIMORPHISM Adharul Muttaqin Adharul M -
Pertemuan : Object Oriented Programming
Pemrograman Berorientasi Obyek dengan JAVA Interface
Inheritance Nana Ramadijanti Laboratorium Computer Vision Politeknik Elekltronika Negeri Surabaya PENS-ITS 2009.
PELATIHAN JAVA FUNDAMENTAL
Desain Berorientasi object
07 Advanced Class Features
Object Oriented Programming with JAVA 2011/2012
MEMBUAT CLASS SENDIRI. Pada akhir pembahasan, peserta diharapkan mampu untuk :  Membuat class  Mendeklarasikan atribut dan method untuk class  Menggunakan.
Bekerja dengan Java class library
OOP Java 06 Polymorphism.
Inheritance Matakuliah : T0984 / Algoritma dan Metode Object Oriented Programming II Pertemuan : 4 Tahun : 2008 Versi : 1/0.
Inheritance, polymorphism, dan interface
Kelas Lanjut 2 Oleh Tita Karlita.
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
MATERI IV OOP (Object Oriented Programming) Chapter II.
Pertemuan 6 PEWARISAN AND POLYMORPHISM
Perancangan dan Pemrograman Web
INHERITANCE (PEWARISAN)
FONDASI PEMROGRAMAN & STRUKTUR DATA #8
Access Modifier.
Inheritance dan Kata Kunci static
POLYMORPHISM (KEBANYAKRUPAAN)
Pemograman Berorientasi Objek
Algoritma & Pemrograman 1
@kovazzevic | SMKN 24 Jakarta
Method & Constructor METHOD.
POLYMORPHISM (KEBANYAKRUPAAN)
Pewarisan Disusun Oleh: Reza Budiawan Untuk:
MODIFIER JAVA.
Algoritma & Pemrograman 1
Association, Composition dan Inheritance
MEMBUAT CLASS SENDIRI 2.
Inheritance.
INHERITANCE SUSSI.
INHERITANCE (PEWARISAN)
Visibility, Getter Setter, Pewarisan, Overloading dan Overriding
Visibility, Getter Setter, Pewarisan, Overloading dan Overriding
Subclassing and Inheritance
Pemrograman Berorientasi Object
Pemrograman Berorientasi Object
@kovazzevic | SMKN 24 Jakarta
Pertemuan 5 Inheritance
Pertemuan 7 Inheritance (lanjutan)
Transcript presentasi:

Inheritance Ery Setiyawan Jullev A

Pewarisan (inheritance) Semua class dalam Java, termasuk class yang membangun Java API, merupakan subclass dari superclass Object. Contoh dari hierarki class :

Pewarisan (inheritance) Superclass class yang letaknya di atas class tertentu di dalam hierarki. Subclass class yang letaknya di bawah class tertentu di dalam hierarki.

Pewarisan (inheritance) Keuntungan penggunaan Inheritance dalam OOP : Reusability Ketika behavior(method) dideklarasikan dalam superclass, behavior tersebut otomatis diwariskan ke seluruh subclass Jadi, Anda 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

Pewarisan (inheritance) Untuk mengambil sebuah class, gunakan keyword extends. Untuk lebih jelasnya, mari buat class parent sederhana, misalkan kita mempunyai class parent bernama Person. public class Person { protected String name; protected String address; /** * Default constructor */ public Person(){ System.out.println(“Inside Person:Constructor”); name = ""; address = ""; } . . . .

Pewarisan (inheritance) Sekarang, kita buat class lain bernama Student Karena murid juga termasuk orang, kita putuskan untuk meng-extend class Person, sehingga kita dapat mewariskan semua properti dan method yang telah ada di class Person. Untuk itu, kita bisa menulis : public class Student extends Person { public Student(){ System.out.println(“Inside Student:Constructor”); } . . . .

Pewarisan (inheritance) Ketika sebuah object Student diinstansiasi, default constructor dari superclass Student dipanggil secara implisit untuk melakukan inisialisasi seperlunya. Setelah itu, pernyataan di dalam constructor subclass dijalankan.

Pewarisan (inheritance) Untuk memperjelasnya, perhatikan kode dibawah ini, Dalam kode ini, kita membuat sebuah object dari class Student. Hasil dari program adalah: public static void main( String[] args ){ Student anna = new Student(); } Inside Person:Constructor Inside Student:Constructor

Pewarisan (inheritance) Flowchart program ditampilkan dibawah ini :

Dapat dilakukan dengan menggunakan pemanggilan constructor super. Keyword “super” Sebuah subclass dapat juga memanggil secara eksplisit sebuah constructor superclass yang ada diatasnya. Dapat dilakukan dengan menggunakan pemanggilan constructor super. Pemanggilan constructor super didalam constructor subclass akan mengakibatkan eksekusi dalam constructor yang relevan dari superclass, berdasarkan passing argument-nya.

Tuliskan kode berikut untuk class Student Keyword “super” Sebagai contoh, pada contoh sebelumnya yaitu class Person dan Student, kita tunjukkan sebuah contoh pemanggilan constructor super. Tuliskan kode berikut untuk class Student public Student(){ super( "SomeName", "SomeAddress" ); System.out.println("Inside Student:Constructor"); }

Keyword “super” Beberapa hal untuk diingat ketika menggunakan pemanggilan constructor super : Pemanggilan super() HARUS DIJALANKAN SESUAI DENGAN STATEMENT PERTAMA DALAM SEBUAH CONSTRUCTOR. Pemanggilan super() hanya dapat digunakan di dalam definisi constructor. Hal ini menjelaskan bahwa constructor this() dan pemanggilan super() TIDAK DAPAT DIJALANKAN SECARA BERSAMAAN DI DALAM CONSTRUCTOR YANG SAMA.

Penggunaan lainnya dari super mengarah pada member dari superclass. Keyword “super” Penggunaan lainnya dari super mengarah pada member dari superclass. Sebagai contoh, public Student() { super.name = “somename”; super.address = “some address”; }

Meng-override method Jika sebuah subclass menginginkan implementasi yang berbeda terhadap method dari superclassnya, maka salah satu caranya dapat dilakukan dengan meng-override method bersangkutan. Sebuah subclass dapat meng-override method superclassnya dengan menyediakan sebuah implementasi baru untuk method tersebut.

contoh berikut ini merupakan implementasi dari method getName didalam superclass Person public class Person { : public String getName(){ System.out.println("Parent: getName"); return name; }

contoh Untuk meng-override method getName dari superclass Person, di dalam subclass Student, kita tulis : Sekarang, ketika kita memanggil method getName dari object subclass Student, method getName yang di-override akan dipanggil, dan hasilnya akan menjadi, public class Student extends Person{ : public String getName(){ System.out.println("Student: getName"); return name; } Student: getName

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

method static secara otomatis merupakan method final. Class dan method final Method Final Method yang tidak bisa di-override Untuk mendeklarasikan final method, kita tulis, public final [returnType] [methodName]([parameters]){ . . . } method static secara otomatis merupakan method final.

public final String getName(){ contoh public final String getName(){ return name; }

PERTANYAAN???