Constructor & Inheritance
Pertemuan 4
Ghifari Munawar, [Link], M.T Jurusan Teknik Komputer dan Informatika - POLBAN
Topics
1. Constructor
2. Inheritance
04/03/2020
Ghifari Munawar, [Link], M.T 2
Jurusan Teknik Komputer dan Informatika - POLBAN
1. Constructor
• Constructor adalah method yang secara
otomatis dipanggil/dieksekusi saat sebuah
class diinstansiasi.
• Nama constructor harus sama dengan
nama class-nya.
• Sama halnya dengan method, constructor
juga dapat memiliki satu atau lebih dari
satu parameter.
04/03/2020
Ghifari Munawar, [Link], M.T 3
Jurusan Teknik Komputer dan Informatika - POLBAN
Contoh implementasi constructor
public class Mahasiswa
{
private String nim, nama;
public Mahasiswa()
{
[Link] = “”;
[Link] = “”;
}
}
04/03/2020
Ghifari Munawar, [Link], M.T 4
Jurusan Teknik Komputer dan Informatika - POLBAN
Contd..
public class Mahasiswa
{ Contoh class yang
private String nim, nama; memiliki
public Mahasiswa() lebih dari satu
{
[Link]=“”;
constructor disebut
[Link] = “”; multiple
} constructor
public Mahasiswa(String nim, String nama)
{
[Link] = nim;
[Link] = nama;
}
}
04/03/2020
Ghifari Munawar, [Link], M.T 5
Jurusan Teknik Komputer dan Informatika - POLBAN
Function Overloading
• Function Overloading merupakan suatu
kondisi dimana suatu class memiliki fungsi
yang sama tetapi deklarasi dan
parameternya berbeda.
04/03/2020
Ghifari Munawar, [Link], M.T 6
Jurusan Teknik Komputer dan Informatika - POLBAN
Contoh implementasi :
public class Matematika
{
…..
public int Tambah (int a, int b)
{
return a + b;
}
public int Tambah (int a, int b, int c)
{
return a + b + c;
}
}
04/03/2020
Ghifari Munawar, [Link], M.T 7
Jurusan Teknik Komputer dan Informatika - POLBAN
2. Inheritance
• Inheritance secara definisi merupakan suatu
proses untuk mewariskan suatu sifat (baik
method maupun properties) dari superclass
ke subclass.
• Inheritance dapat meningkatkan “software
reuse”
• Inheritance dapat pula dikatakan sebagai
kemampuan dari subclass untuk
mengambil rantai pewarisan dari
superclassnya.
04/03/2020
Ghifari Munawar, [Link], M.T 8
Jurusan Teknik Komputer dan Informatika - POLBAN
Contoh hirarki inheritance :
Person
Mewariskan method
dan properties
Ke Employee
Employee
Mewariskan method
dan properties
Ke SalesPerson
04/03/2020
Ghifari Munawar, [Link], M.T 9
Jurusan Teknik Komputer dan Informatika - POLBAN
Contd..
• Berdasarkan gambar inheritance tersebut,
SalesPerson dapat didefinisikan sebagai
kombinasi dari :
• Kelas Employee
• Kelas Person
• Serta atribut dan method yang didefinisikan
sendiri
04/03/2020
Ghifari Munawar, [Link], M.T 10
Jurusan Teknik Komputer dan Informatika - POLBAN
Classes with Inherited Properties
• Perhatikan hirarki method dan attribute yang diwariskan
superclass ke subclass.
04/03/2020
Ghifari Munawar, [Link], M.T 11
Jurusan Teknik Komputer dan Informatika - POLBAN
Implementasi inheritance :
04/03/2020
Ghifari Munawar, [Link], M.T 12
Jurusan Teknik Komputer dan Informatika - POLBAN
Contd..
• Implementasi inheritance dilakukan dengan
menggunakan statement “extends”.
Struktur kodenya adalah sebagai berikut :
namaSubclass extends namaSuperclass
{
…. //definisi
}
04/03/2020
Ghifari Munawar, [Link], M.T 13
Jurusan Teknik Komputer dan Informatika - POLBAN
Contd..
• Statement “super” digunakan oleh subclass
untuk memanggil constructor atau method
yang ada pada superclass-nya.
• Contoh memanggil constructor pada
superclass-nya :
• super()
• super(parameter)
• Contoh memanggil method pada
superclass-nya :
• [Link](parameter)
04/03/2020
Ghifari Munawar, [Link], M.T 14
Jurusan Teknik Komputer dan Informatika - POLBAN
Function overriding
• Merupakan suatu kondisi dimana method
pada subclass mereplace / override method
hasil inheritance dari superclassnya.
04/03/2020
Ghifari Munawar, [Link], M.T 15
Jurusan Teknik Komputer dan Informatika - POLBAN
Contoh :
public class food
{
public void eat()
{
[Link]("i'am the eat method");
}
}
public class tuna extend food
{
public void eat()
{
[Link]("i'am the new eat method");
}
}
04/03/2020
Ghifari Munawar, [Link], M.T 16
Jurusan Teknik Komputer dan Informatika - POLBAN
Inheritance Chain
04/03/2020
Ghifari Munawar, [Link], M.T 17
Jurusan Teknik Komputer dan Informatika - POLBAN
Multiple Inheritance
• Inheritance yang
dilakukan pada lebih
dari satu superclass
disebut multiple
inheritance.
• Kendala : extend hanya
berlaku pada satu
superclass.
• Solusi : interface
04/03/2020
Ghifari Munawar, [Link], M.T 18
Jurusan Teknik Komputer dan Informatika - POLBAN
Final Classes
• Agar membuat tidak dapat di-inherit,
maka perlu dibuat dengan “final”
• Kita dapat menuliskannya sebagai modifier
• Contoh :
• Public final class Executive extends Manager {..}
04/03/2020
Ghifari Munawar, [Link], M.T 19
Jurusan Teknik Komputer dan Informatika - POLBAN
Demo inheritance
• Demo di netbeans
04/03/2020
Ghifari Munawar, [Link], M.T 20
Jurusan Teknik Komputer dan Informatika - POLBAN
Latihan
1. Buatlah contoh hirarki yang menerapkan
single inheritance ?
2. Buatlah contoh hirarki yang menerapkan
multiple level single inheritance ?
3. Buatlah contoh hirarki yang menerapkan
multiple inheritance ?
04/03/2020
Ghifari Munawar, [Link], M.T 21
Jurusan Teknik Komputer dan Informatika - POLBAN
Diskusi
• Jelaskan mengapa inheritance dapat
meningkatkan aspek ‘reuse’ ?
• Bagaimana pendapat anda terhadap
banyaknya level hirarki pada inheritance ?
04/03/2020
Ghifari Munawar, [Link], M.T 22
Jurusan Teknik Komputer dan Informatika - POLBAN
Tugas
• Silahkan kerjakan tugas pada link berikut :
• [Link]
HotChilli/[Link]
04/03/2020
Ghifari Munawar, [Link], M.T 23
Jurusan Teknik Komputer dan Informatika - POLBAN
References :
1. Object oriented programming and Java
2nd Edition – Chapter 6
04/03/2020
Ghifari Munawar, [Link], M.T 24
Jurusan Teknik Komputer dan Informatika - POLBAN