240 likes | 491 Views
Pemrograman Berorientasi Objek. Oleh : Sri Herawati, S.Kom. INHERITANCE. D3 MANAJEMEN INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS TRUNOJOYO. Sub Topik. Inheritance (Pewarisan) Kata Kunci This Overriding. Inheritance. Inheritance merupakan salah satu dari 3 konsep dasar OOP.
E N D
Pemrograman Berorientasi Objek Oleh : Sri Herawati, S.Kom INHERITANCE D3 MANAJEMEN INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS TRUNOJOYO
Sub Topik • Inheritance (Pewarisan) • Kata Kunci This • Overriding
Inheritance • Inheritance merupakan salah satu dari 3 konsep dasar OOP. • Konsep inheritance ini mengadopsi dunia riil dimana suatu entitas/obyek dapat mempunyai entitas/obyek turunan. • Dengan konsep inheritance, sebuah class dapat mempunyai class turunan.
Inheritance • Suatu class yang mempunyai class turunan dinamakan parent class atau base class atau superclass • Sedangkan class turunan itu sendiri seringkali disebut subclass atau child class. • Suatu subclass dapat mewarisi apa-apa yang dipunyai oleh parent class. • Misal : kelas B adalah kelas anak dari kelas A, maka sifat – sifat dari kelas A otomatis akan dimiliki juga oleh kelas B.
Inheritance • Dengan menambahkan kata kunci extends setelah deklarasi nama class, kemudian diikuti dengan nama parent class-nya. • Kata kunci extends tersebut memberitahu kompiler Java bahwa kita ingin melakukan perluasan class. • Bentuk : class kelasturunan extends kelasparent { tubuhkelas }
Inheritance • Kita baruperlumenerapkan inheritance padasaatkitajumpaiadasuatu class yang dapatdiperluasdari class lain. • Konsep inheritance yang adadi Java adalah Java hanyamemperkenankanadanyasingle inheritance. • Konsep single inheritance hanyamemperbolehkansuatusublassmempunyaisatu parent class.
Contoh : parent class class Alpha{ private int a = 5; public void info(){ System.out.println("a= "+a); System.out.println("Dipanggil pada "+ this.getClass().getName()); } } Ket : this.getClass().getName() utk memperoleh nama kelas
Contoh : child class class Bravo extends Alpha { public static void main(String[] args){ Bravo obj= new Bravo(); obj.info(); } }
Penentu akses protected • protected berguna utk mengatur agar suatu variabel instan atau metode yg terdapat pada sebuah kelas dpt diakses pada kelas itu sendiri dan sub kelas.
Contoh :parent class class Alpha{ private int a = 5; protected int b = 7; public void info(){ System.out.println("Dipanggil pada "+ this.getClass().getName()); System.out.println("a= "+ a); System.out.println("b= "+ b); } }
Contoh : child class class Delta extends Alpha { private int c = 9; public void info(){ System.out.println("Dipanggil pada " + this.getClass().getName()); System.out.println("b = " + b); System.out.println("c = " + c); } }
Memanggil parent dan child class class PenentuProtect { public static void main(String[] args){ Alpha objx = new Alpha(); objx.info(); Delta objy = new Delta(); objy.info(); } }
Metode superkelas • Cara untuk memanggil metode superkelas dari subkelas dgn kata kunci super yang berarti superkelas.
Contoh : class Echo extends Alpha { private int c = 9; public void info(){ super.info(); System.out.println("c = " + c); } }
class superkelas { public static void main(String[] args) { Echo obj = new Echo(); obj.info(); } }
Kata kunci this • this digunakan pada pembuatan class yang menyatakan objek sekarang.
Overriding Data dan Method • Overriding kemampuankelasanakuntukmemodifikasi data dan method darikelasinduknya. • Overriding redefinisi data dan method. Prosesiniakanmengubah data dan method darikeduanya, kelasindukdankelasanaknya. • Sebelum melakukan overriding perlu diperhatikan bagaimana tingkat aksesibilitas data dan method tersebut. • Alasanmelakukan overriding : • Mendefinisikankembali method kelasinduknyasecara total • Menambahkan behaviour tertentu pada method kelas induknya
Contoh : Class Hewan class Hewan { private String jenis; private int kaki; Hewan (){ } Hewan (String jenis, int kaki){ this.jenis = jenis; this.kaki = kaki; } public void bersuara() { System.out.print("suara hewan "+jenis+" berkaki "+kaki); } }
Contoh : Class sapi class sapi extends Hewan { sapi() { super(); } public void bersuara() { //overriding method System.out.println("mouwww..."); } }
Contoh : Class Kucing class Kucing extends Hewan { Kucing(String jenis, int kaki) { super(jenis, kaki); } public void bersuara() { //overriding method super.bersuara(); System.out.println(" miaowwww...."); } }
Contoh : Class DemoPoli class DemoPoli { public static void main(String args[]) { sapi perah = new sapi(); Kucing tom = new Kucing("Kucing", 4); perah.bersuara(); tom.bersuara(); } }