Pertemuan : Object Oriented Programming Pewarisan Pertemuan : Object Oriented Programming
Pewarisan Dalam Java, semua class, termasuk class yang membangun Java API, adalah subclasses dari superclass Object. Contoh hirarki class diperlihatkan di bawah ini :
Beberapa class di atas class utama dalam hirarki class dikenal sebagai superclass. Sementara beberapa class di bawah class pokok dalam hirarki class dikenal sebagai subclass dari class tersebut. Pewarisan adalah penurunan suatu sifat atau method didefinisikan dalam superclass, sifat ini secara otomatis diwariskan ke semua subclasses. Subclass hanya perlu mengimplementasikan perbedaannya sendiri dan induknya.
Mendefinisikan Superclass dan Subclass Subclass hanya perlu mengimplementasikan perbedaannya sendiri dan induknya. Untuk membuat subclass menggunakan kata kunci extend.
Contoh Superclass public class MahlukHidup { protected String nama; protected String jenis; public MahlukHidup(){ this.nama = "tidak ada"; System.out.println("Makhluk hidup:konstruktor"); } public MahlukHidup(String nama){ System.out.println(this.nama+" konstruktor"); public void Bernafas(String nama){ System.out.println(nama+" Bernafas"); public void Tumbuh(String nama){ System.out.println(nama+" Tumbuh");
Contoh Subclass public class Manusia extends MahlukHidup{ public Manusia(){ System.out.println("Manusia:konstruktor"); } public static void main( String[] args ){ Manusia Anna = new Manusia(); Manusia Budi =new Manusia(); Anna.Bernafas("anna"); Budi.Tumbuh("budi");
Diagram Alir
Kata Kunci Super Pemangilan constructor super dalam contructor subclass akan menghasilkan eksekusi dari superclass constructor yang berangkutan, berdasar dari argumen sebelumnya.
Construktor Super Pemanggil super() harus dijadikan pernyataan pertama dalam constructor. Pemangil super() hanya dapat digunakan dalam definisi constructor. Constructor this() dan pemangil super() tidak boleh terjadi dalam constructor yang sama.
Contoh public class Manusia extends MahlukHidup{ public Manusia(){ super(); super.jenis="Manusia"; System.out.println("Manusia:konstruktor"); } public Manusia(String nama){ this.nama = nama; public static void main( String[] args ){ Manusia Anna = new Manusia(); Manusia Budi =new Manusia("budi"); Anna.Bernafas("anna"); Budi.Tumbuh("budi");