Slide SIF108 Inheritance

Inheritance

Cara membuat Class
• Tentukan aktor, pelaku, atau object penderita  nama Class
• Tentukan kata benda  attribute / field di dalam Class
• Tentukan kata kerja  method di dalam Class

Tentukan Class, attribute, dan
method
Pada hari pertama perkuliahan, setiap mahasiswa akan diberikan form
berisi data pribadi, seperti: nama, no.ktp, nama orang tua, alamat, telp,
email, dan prodi. Setelah mengisi data pribadi tersebut, mahasiswa
akan diberikan No.Induk Mahasiswa (NIM). Di sisi lain, dosen sebelum
bekerja akan ditanyakan data pribadi untuk keperluan HRD (Human
Resource Departement). Informasi mengenai dosen yang diperlukan
adalah: nama, no.ktp, alamat, telp, email, prodi, dan jabatan. Setelah
data terisi lengkap, dosen akan diberikan No.Induk Karyawan (NIK) dan
No.Induk Dosen Nasional (NIDN)

Mahasiswa
– nim

– nama
– noKtp
– bapak
– ibu
– alamat
– telp
– email
– prodi
+ Mahasiswa()
+ setNim()
+ getNim()
...

Dosen
– nik
– nidn
– nama
– noKtp
– alamat
– telp

– email
– prodi
– jabatan
+ Dosen()
+ setNik()
+ getNik()
...

Orang

Kita menyebutnya
inheritance

– nama
– noKtp
– alamat
– telp
– email
– Prodi
+ Orang()

+ setNama()
+ getNama()
...

Mahasiswa
– nim
– bapak
– ibu
+ Mahasiswa()
+ setNim()
+ getNim()
...

Dosen
– nik
– nidn
– jabatan
+ Dosen()
+ setNik()
+ getNik()

...

Apa itu Inheritance
• Inheritance merupakan konsep yang menggambarkan hubungan
keturunan (is-a relationship) dari base/parent class
• Class turunan memiliki sifat (attribute dan method) yang sama
(diwariskan) dengan base/parent class
• Satu Class hanya boleh memiliki satu base/parent class (single
inheritance)
• Gunakan keyword extends

Apa itu Inheritance
• Contoh:
1.
2.
3.
4.
5.

Truck is a car

Cat is an animal
Student is a person
Mahasiswa adalah Orang
Dosen adalah Orang

Tapi, Mahasiswa bukanlah Dosen

public class Orang {
...
}
public class Mahasiswa extends Orang {
...
}
public class Dosen extends Orang {
...
}

Kasus
Lady Gaga dan Jason Marz merupakan dua orang penyanyi yang
berbeda gaya dalam bernyanyi.

LadyGaga
+ menyanyi()

JasonMarz

Sama kemampuan,
tapi berbeda cara
melakukan

+ menyanyi()

Kasus seperti ini tidak dapat menggunakan inheritance, tetapi interface

Apa itu Interface
• Interface adalah abstract class yang tidak memiliki detail
implementasi sama sekali.
• Interface berisi public abstract method dan public static final attribute
• Gunakan keyword implements untuk menyerap karakteristik
kemampuan tetapi cara melakukannya disesuaikan dengan Class
masing-masing


public interface BisaMenyanyi {
void menyanyi();
}
public class LadyGaga implements BisaMenyanyi {
public void menyanyi() {
singRock();
}
}
public class JasonMarz implements BisaMenyanyi {
public void menyanyi() {
singPop();
}
}