8/15/2019 Pertemuan 6 Inheritance
1/22
8/15/2019 Pertemuan 6 Inheritance
2/22
Sub Topik
• Inheritance (Pewarisan)
• Kata Kunci This
• Overriding
8/15/2019 Pertemuan 6 Inheritance
3/22
Inheritance
• Inheritance merupakan saah satu
dari ! konsep dasar OOP"
• Konsep inheritance ini mengadopsidunia rii dimana suatu entitas#ob$ekdapat mempun$ai entitas#ob$ekturunan"
• %engan konsep inheritance& sebuahcass dapat mempun$ai cassturunan"
8/15/2019 Pertemuan 6 Inheritance
4/22
Inheritance
• Suatu cass $ang mempun$ai cassturunan dinamakan parent cass atau basecass atau supercass
• Sedangkan cass turunan itu sendiriseringkai disebut subcass atau chidcass"
• Suatu subcass dapat mewarisi apa'apa
$ang dipun$ai oeh parent cass"• isa keas B adaah keas anak dari keas *& maka si+at
, si+at dari keas * otomatis akan dimiiki juga oehkeas B"
8/15/2019 Pertemuan 6 Inheritance
5/22
Inheritance
• %engan menambahkan kata kunci e-tends
seteah dekarasi nama cass& kemudian diikuti
dengan nama parent cass'n$a"
• Kata kunci e-tends tersebut memberitahu
kompier .ava bahwa kita ingin meakukan
peruasan cass"
• Bentuk
cass kelasturunan e-tends keas parent {
tubuhkelas
}
8/15/2019 Pertemuan 6 Inheritance
6/22
Inheritance
• Kita baru peru menerapkan inheritance
pada saat kita jumpai ada suatu cass
$ang dapat diperuas dari cass ain"
• Konsep inheritance yang ada di Javaadalah Java hanya memperkenankanadanya single inheritance.
• Konsep single inheritance hanyamemperbolehkan suatu sublassmempunyai satu parent class.
8/15/2019 Pertemuan 6 Inheritance
7/22
/ontoh parent cass
cass *pha0
private int a 1 23
pubic void in+o()0
S$stem"out"printn(4a1 45a)3
S$stem"out"printn(4%ipanggi pada 45
this"get/ass()"get6ame())3
77
Ket this"get/ass()"get6ame() utk memperoeh
nama keas
8/15/2019 Pertemuan 6 Inheritance
8/22
/ontoh chid cass
cass Bravo e-tends *pha
0
pubic static void main(String89 args)0Bravo obj1 new Bravo()3
obj"in+o()3
77
8/15/2019 Pertemuan 6 Inheritance
9/22
:asi
8/15/2019 Pertemuan 6 Inheritance
10/22
Penentu akses protected
• #rote$te% berguna utk mengatur
agar suatu variabe instan atau
metode $g terdapat pada sebuahkeas dpt diakses pada keas itu
sendiri dan sub keas"
8/15/2019 Pertemuan 6 Inheritance
11/22
/ontoh parent cass
cass *pha0
private int a 1 23
protected int b 1 ;3
pubic void in+o()0
S$stem"out"printn(4%ipanggi pada 45
this"get/ass()"get6ame())3
S$stem"out"printn(4a1 45 a)3
S$stem"out"printn(4b1 45 b)3
7
7
8/15/2019 Pertemuan 6 Inheritance
12/22
/ontoh chid cass
cass %eta e-tends *pha
0
private int c 1
8/15/2019 Pertemuan 6 Inheritance
13/22
emanggi parent dan chid cass
cass PenentuProtect
0
pubic static void main(String89 args)0
*pha obj- 1 new *pha()3obj-"in+o()3
%eta obj$ 1 new %eta()3
obj$"in+o()37
7
8/15/2019 Pertemuan 6 Inheritance
14/22
etode superkeas
• /ara untuk memanggi metode
superkeas dari subkeas dgn kata
kunci &'#er $ang berarti superkeas"
8/15/2019 Pertemuan 6 Inheritance
15/22
/ontoh
cass =cho e-tends *pha
0
private int c 1
8/15/2019 Pertemuan 6 Inheritance
16/22
cass superkeas
0
pubic static void main(String89 args)0
=cho obj 1 new =cho()3
obj"in+o()3
7
7
8/15/2019 Pertemuan 6 Inheritance
17/22
Kata kunci this
• this digunakan pada pembuatan
cass $ang men$atakan objek
sekarang"
8/15/2019 Pertemuan 6 Inheritance
18/22
Overriding %ata dan ethod
• Overriding kemampuan keas anak untukmemodi+ikasi data dan method dari keas indukn$a"
• Overriding rede+inisi data dan method"
Proses ini akan mengubah data dan method darikeduan$a& keas induk dan keas anakn$a"
• Sebeum meakukan overriding peru diperhatikanbagaimana tingkat aksesibiitas data dan methodtersebut"
• *asan meakukan overriding • ende+inisikan kembai method keas indukn$a secara tota• enambahkan behaviour tertentu pada method keas
indukn$a
8/15/2019 Pertemuan 6 Inheritance
19/22
/ontoh /ass :ewan
cass :ewan 0
private String jenis3
private int kaki3
:ewan ()07
:ewan (String jenis& int kaki)0
this"jenis 1 jenis3
this"kaki 1 kaki37
pubic void bersuara() 0
S$stem"out"print(4suara hewan 45jenis54 berkaki 45kaki)3
7
7
8/15/2019 Pertemuan 6 Inheritance
20/22
/ontoh /ass sapi
cass sapi e-tends :ewan 0
sapi() 0
super()3
7
pubic void bersuara() 0 ##overriding method
S$stem"out"printn(4mouwww"""4)3
7
7
8/15/2019 Pertemuan 6 Inheritance
21/22
/ontoh /ass Kucing
cass Kucing e-tends :ewan 0
Kucing(String jenis& int kaki) 0
super(jenis& kaki)37
pubic void bersuara() 0 ##overriding method
super"bersuara()3
S$stem"out"printn(4 miaowwww""""4)3
7
7
8/15/2019 Pertemuan 6 Inheritance
22/22
/ontoh /ass %emoPoi
cass %emoPoi 0
pubic static void main(String args89) 0
sapi perah 1 new sapi()3
Kucing tom 1 new Kucing(4Kucing4& >)3
perah"bersuara()3
tom"bersuara()3
7
7