Fe2ab8977b539de79ec23418c3a9db619512470f-Pemrograman Berorientasi Objek
Pemrograman Berorientasi Objek
description
Transcript of Pemrograman Berorientasi Objek
Pemrograman Berorientasi Objek
INHERITANCE
Oleh :Sri Herawati, S.Kom
D3 MANAJEMEN INFORMATIKAFAKULTAS 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
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();
}
}
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
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 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 DemoPoli
class DemoPoli {
public static void main(String args[]) {
sapi perah = new sapi();
Kucing tom = new Kucing("Kucing", 4);
perah.bersuara();
tom.bersuara();
}
}