Nama:
NIM:
KELAS:
Tujuan: Mahasiswa mampu memahami daan membuat program pewarisan dalam bahasa java
Materi:
1. Definisi Pewarisan
2. Cara mewariskan Kelas
3. Penentu akses protected
4. Memanggil Metode Superkelas
5. Memanggil Konstruktor Superkelas
6. Penentu Akses final
7. Objek dalam kelas
8. Penentu Abstract
9. Ikatan dinamis pada variabel bertipe Kelas
10. Argumen Baris Perintah
1. Definisi Pewarisam: Konsep dalam OOP yang membuat suatu kelas dengan didasarkan
pada kelas yang sudah ada sehingga mewarisi semua metode dan variabelnya
Tulis dan Perhatikan program 1 dibawah ini
//Nama Berkas: Alpha.java
class Alpha {
private int a = 5;
public void info() {
System.out.println("a = " + a);
System.out.println("Dipanggil pada " +
this.getClass().getName());
}
}
Kelas Alpha memiliki sebuah vaiabel instan a dan sebuah metode yaitu:info()
Agar diperhatikan: this.getClass().getName() merupakan ekpresi untuk memperoleh nama
Kelas
Jawablah Pertanyaan 1 berikut:
a. Apa hasil dari program di atas?............................
b. Jika belum ada hasilnya jelaskan secara singkat kenapa program masih error?..
c. Jelaskan tujuan dari Public void info():.........................
d. Apa arti ekpresi: this.getClass().getName:...................................
Jawaban :
c. public static void main(String[] args) adalah
Berdasarkan kelas Alpha, kita bisa membuat kelas baru, misal Bravo, kelas turunan ini secara
prinsib bisa ditulis:
Class KelasTurunan extents KelasDasar{
Tubuh Kelas
}
Pada bentuk diatas:
Kelas turunan menyatakan kelas turunan yang akan dibuat berdasarkan sebuah kelas
dasar
KelasDasar yang terletak sesuadah kata kunci extends menyatakan superkelas
Tulis program2 kelas bravo di bawah ini
// Berkas: Bravo.java
class Bravo extends Alpha {
private int b = 7;
public static void main(String[] args) {
Bravo obj = new Bravo();
obj.info();
}
}
Jawablah Pertanyaan 2 berikut:
a. Apa hasil dari program kelas bravo?...............
b. Jelaskan maksud ekpresi extends?..............
c. Jelaskan kasud Brovo obj=new Bravo?.......
d. Apa maksud ekpresi obj.info()?...........
Jawaban :
b. extends
Keyword yang digunakan bila terjadi pewarisan, kelas yang mewariskan method dan
attributenya disebut kelas super, sedangkan yang diwariskan disebut subkelas.
C & D. Kelas Bravo merupakan kelas turunan dari superkelas Alpha dan
Setelah membuat program kompilasikan, dan selanjutnya buatkan program ini selanjutnya
// Berkas: Delta.java
class Delta extends Charlie {
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);
}
}
Jawablah Pertanyaan 3:
a. Jika di kompilasi terdapat error, coba benahi errornya?
b. Jelaskan arti ekpresi private
int a = 5;?
c. Jelaskan arti ekpresi protected int b = 7;?
d. Jelaskan kesimpulan apa yang di dapat dari program Delta dan charlie?
Jawaban :
b. Private adalah kode yang sesuai dengan namanya, akses ini bersifat private.
dengan kata lain data maupun method hanya dapat diakses oleh kelas yang
dimilikinya saja.
c. Protected adalah kode akses yang membuat suatu data atau method yang
didefinisikan dengan tingkatan akses ini dapat diakses oleh kelas yang
memilikinya saja dan juga kelas-kelas yang memasih memiliki keturunan atau
Encapsulation data
Program penggunaan objek berkelas charlie dan Detlta untuk penentu protec
// Berkas: PenentuProtec.java
class PenentuProtec {
public static void main(String[] args) {
Charlie objX = new Charlie();
objX.info();
Delta objY = new Delta();
objY.info();
}
}
Jawablah Pertanyaan 4:
a. Apa hasil dari program penentuProtectec.java
b. Jelaskan dari ekresi berikut ini:
Charlie objX = new Charlie();
objX.info();
Delta objY = new Delta();
objY.info();
c. Pengertian Konstruktor
Konstruktor (construct) adalah sebuah method yang secara otomatis akan dijalankan
ketika object dibuat (instansiasi). yaitu pada saat perintah new dijalankan.
Biasanya konstruktor digunakan untuk memberikan nilai awal pada sebuah objek.
seperti pemberian nilai pada property atau pemanggilan method internal (method
dalam class yang sama).
Penggunaan Konstruktor
class NamaKelas {
NamaKelas() {
// Lakukan Sesuatu
}
}
membuat construct sama halnya dengan membuat method biasa akan tetapi nama method
harus sama dengan nama kelas.