Pemrograman Berorientasi
Objek
INHERITANCE / PEWARISAN
Oleh :
Zarnelly, S.Kom,M.Sc
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.
Single Inheritance
A
B C D
Multiple Inheritance
A
B D
C
Contoh : parent class
package luasppjg;
public class luasppparent {
private int lebar=5;
private int panjang=6;
private int Luas;
public void hitung(){
System.out.println ("Lebar = "+lebar);
System.out.println ("Panjang = "+panjang);
Luas=lebar*panjang;
System.out.println ("Luas = "+Luas);
} }
Contoh : child class
package luasppjg;
public class luasppchild extends
luasppparent {
public static void main(String[] args) {
luasppchild PPJG = new
luasppchild();
PPJG.hitung();
}
}
Hasil :
Modifier berfungsi untuk mengontrol akses
ke data, method dan class.
Visibility Modifier
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();
}
}
Hasil
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();
}
}
Hasil

Bab Tiga Pewarisan Dalam Pemrograman Berorientasi Objek.ppt

  • 1.
    Pemrograman Berorientasi Objek INHERITANCE /PEWARISAN Oleh : Zarnelly, S.Kom,M.Sc
  • 2.
    Sub Topik  Inheritance(Pewarisan)  Kata Kunci This  Overriding
  • 3.
    Inheritance  Inheritance merupakansalah 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.
  • 4.
    Inheritance  Suatu classyang 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.
  • 5.
    Inheritance  Dengan menambahkankata 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 }
  • 6.
    Inheritance  Kita baruperlu 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.
  • 7.
  • 8.
  • 9.
    Contoh : parentclass package luasppjg; public class luasppparent { private int lebar=5; private int panjang=6; private int Luas; public void hitung(){ System.out.println ("Lebar = "+lebar); System.out.println ("Panjang = "+panjang); Luas=lebar*panjang; System.out.println ("Luas = "+Luas); } }
  • 10.
    Contoh : childclass package luasppjg; public class luasppchild extends luasppparent { public static void main(String[] args) { luasppchild PPJG = new luasppchild(); PPJG.hitung(); } }
  • 11.
  • 12.
    Modifier berfungsi untukmengontrol akses ke data, method dan class. Visibility Modifier
  • 13.
    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.
  • 14.
    Contoh :parent class classAlpha{ 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); } }
  • 15.
    Contoh : childclass 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); } }
  • 16.
    Memanggil parent danchild class class PenentuProtect { public static void main(String[] args){ Alpha objx = new Alpha(); objx.info(); Delta objy = new Delta(); objy.info(); } }
  • 17.
  • 18.
    Metode superkelas  Carauntuk memanggil metode superkelas dari subkelas dgn kata kunci super yang berarti superkelas.
  • 19.
    Contoh : class Echoextends Alpha { private int c = 9; public void info(){ super.info(); System.out.println("c = " + c); } }
  • 20.
    class superkelas { public staticvoid main(String[] args) { Echo obj = new Echo(); obj.info(); } }
  • 21.
    Kata kunci this this digunakan pada pembuatan class yang menyatakan objek sekarang.
  • 22.
    Overriding Data danMethod  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
  • 23.
    Contoh : ClassHewan 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); } }
  • 24.
    Contoh : Classsapi class sapi extends Hewan { sapi() { super(); } public void bersuara() { //overriding method System.out.println("mouwww..."); } }
  • 25.
    Contoh : ClassKucing class Kucing extends Hewan { Kucing(String jenis, int kaki) { super(jenis, kaki); } public void bersuara() { //overriding method super.bersuara(); System.out.println(" miaowwww...."); } }
  • 26.
    Contoh : ClassDemoPoli class DemoPoli { public static void main(String args[]) { sapi perah = new sapi(); Kucing tom = new Kucing("Kucing", 4); perah.bersuara(); tom.bersuara(); } }
  • 27.