A. Tujuan
1. Dengan mengikuti perkuliahan ini mahasiswa diharapkan mampu
memahami konsep konstruktor, destriktor, overriding, overloading.
2. Dengan mengikuti perkuliahan ini mahasiswa diharapkan untuk
mampu membuat program yang menggunakan konstruktor, destriktor, overriding,
overloading.
B. Alat dan
Bahan
1. Personal Computer
2. Aplikasi NetBeans
C. Teori
Singkat
1. Konstruktor
è Fungsi khusus yang namanya sama dengan nama class.
è Digunakan untuk inisialisasi.
è Dipanggil otomatis pertama kali saat instansiasi objek.
è Tidak mengembalikan nilai.
è Konstruktor dapat dioverloading.
2. Destruktor
è Fungsi khusus yang namanya sama dengan nama class tetapi
diawali dengan simbol ‘~’
è Digunakan untuk membebaskan memori.
è Dipanggil secara otomatis pada saat objek dihancurkan.
è Tidak mengembalikan nilai.
è Tidak berparameter.
è Tidak dapat dioverloading.
è Destruktor hanya terlihat jika instansiasi objeknya
menggunakan alokasi memori dinamis.
è Java mempunyai fasilitas GARBAGE COLLECTION sehingga tidak
perlu untuk membuat destruktor secara eksplisit.
3. Overriding
è Adalah suatu cara untuk mendefinisikan ulang method yang ada
pada class induk apabila class anak menginginkan adanya informasi yang lain.
Overriding dilakukan dengan cara menulis ulang method yang ada pada class induk
dengan syarat bahwa namadan parameter fungsi tersebut harus sama (tidak boleh
diubah). Meskipun fungsi telah ditulis ulang oleh class anak, fungsi yang asli
pada class induk masih dapat dipanggil di class anak dengan menggunakan class
super.
4. Overloading
è Adalah penulisan beberapa fungsi (dua atau lebih) yang
memiliki nama yang sama. Pada bahasan overloading dikenal istilah signature.
Signature adalah sebuah fungsi parameter lengkap dengan tipe datanya yang
terdapat dalam fungsi tersebut. Misalnya terdapat sebuah fungsi berikut:
public int jumlahMahasiswa (int laki2, int perempuan,
String kelas);
maka signature dari fungsi tersebut adalah(int, int,
String).
è Suatu fungsi dikatakan di-overload jika terdapat beberapa
fungsi dengan nama yang sama namun memiliki signature yang berbeda-beda,
sebagai contoh:
public void infoMahasiswa (int laki2,
int perempuan, String kelas)
{
...
}
public void infoMahasiswa (int mhsLama,
int mhsBaru, int mhsCuti, int angkatan)
{
...
}
D. Langkah
Kerja
Contoh
Konstruktor:
1.
Buatlah project baru dengan nama Konstruktor.
2.
Sesuaikan source code di file Konstruktor.java dengan gambar
berikut:
3.
Jalankan
file MHS1.java, maka akan muncul keluaran seperti gambar berikut ini:
Contoh
Overriding:
1.
Buatlah project baru dengan nama Dosen_uli_v2.
2.
Sesuaikan source code di file Dosen_uli_v2.java dengan gambar
berikut:
3.
Selanjutnya
membuat super class dengan cara klik kanan di package dosen_uli_v2, pilih New à java class
4.
Berikan
nama class baru tersebut dengan nama “dosen”, sesuaikan source code nya dengan
gambar di bawah ini:
5.
Buat class
baru masih di package yang sama dengan nama “rektor”. Sesuaikan source codenya
dengan gambar berikut:
6.
Buat class
baru masih di package yang sama dengan nama dekan. Sesuaikan source codenya
dengan gambar berikut:
7.
Buat class
baru masih di package yang sama dengan nama kalab. Sesuaikan source codenya
dengan gambar berikut:
8.
Jalankan
file Dosen_uli_v1.java, maka akan muncul keluaran seperti gambar berikut ini:
Contoh
Overloading:
1.
Buatlah project baru dengan nama informasimhs.
2.
Sesuaikan source code di file Informasimhs.java dengan gambar
berikut:
3.
Buat file
baru di package yang sama dengan mana mahasiswa, sesuaikan codenya seperti yang
terlihat pada gambar berikut:
4.
Jalankan
file Informasimhs.java, maka akan muncul keluaran seperti gambar berikut ini: