Laporan Jobsheet 10 Pemograman Berorientasi Objek
Konstruktor, Destruktor, Overriding, Overloading
A. Tujuan Praktikum
1. Mampu memahami konsep konstruktor,
destriktor, overriding, overloading.
2. Mampu membuat program yang
menggunakan konstruktor, destriktor, overriding, overloading.
B. Alat dan Bahan Praktikum
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 codenya 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 codenya pada 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 informhs.
2. Sesuaikan source codenya pada file Informhs.java dengan gambar berikut:
3.
Buat
file baru di package yang sama dengan mana mahasiswa.
4. Sesuaikan codenya seperti
yang terlihat pada gambar berikut:
4.
Jalankan
file Informasimhs.java, maka akan muncul keluaran seperti gambar berikut ini:
Komentar
Posting Komentar