Pemrograman Berorientasi Objek INHERITANCE Oleh Sri Herawati S
Pemrograman Berorientasi Objek INHERITANCE Oleh : Sri Herawati, S. Kom D 3 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 baru perlu menerapkan inheritance pada saat kita jumpai ada suatu class yang dapat diperluas dari class lain. • Konsep inheritance yang ada di Java adalah Java hanya memperkenankan adanya single inheritance. • Konsep single inheritance hanya memperbolehkan suatu sublass mempunyai satu parent class.
Contoh : parent class Alpha{ private int a = 5; public void info(){ System. out. println("a= "+a); System. out. println("Dipanggil pada "+ this. get. Class(). get. Name()); } } Ket : this. get. Class(). get. Name() utk memperoleh nama kelas
Contoh : child class Bravo extends Alpha { public static void main(String[] args){ Bravo obj= new Bravo(); obj. info(); } }
Hasil :
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 Alpha{ private int a = 5; protected int b = 7; public void info(){ System. out. println("Dipanggil pada "+ this. get. Class(). get. Name()); System. out. println("a= "+ a); System. out. println("b= "+ b); } }
Contoh : child class Delta extends Alpha { private int c = 9; public void info(){ System. out. println("Dipanggil pada " + this. get. Class(). get. Name()); System. out. println("b = " + b); System. out. println("c = " + c); } }
Memanggil parent dan child class Penentu. Protect { 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 kemampuan kelas anak untuk memodifikasi data dan method dari kelas induknya. • Overriding redefinisi data dan method. Proses ini akan mengubah data dan method dari keduanya, kelas induk dan kelas anaknya. • Sebelum melakukan overriding perlu diperhatikan bagaimana tingkat aksesibilitas data dan method tersebut. • Alasan melakukan overriding : • • Mendefinisikan kembali method kelas induknya secara 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 Demo. Poli class Demo. Poli { public static void main(String args[]) { sapi perah = new sapi(); Kucing tom = new Kucing("Kucing", 4); perah. bersuara(); tom. bersuara(); } }
- Slides: 22