09/06/15

Konstruktor, Overloading, dan Pewarisan Pada Java

Konstruktor, Overloading, dan Pewarisan Pada Java_

Konstruktor, Overloading, dan Pewarisan Pada Java - Metode konstruktor adalah metode yang dapat digunakan untuk memberikan nilai awal saat objek diciptakan. Metode ini akan dipanggil secara otomatis oleh Java ketika new dipakai untuk menciptakan instan kelas.

Konstruktor mempunyai sifat :
  • Namanya sama dengan kelas
  • Tidak memiliki nilai balik
  • Tidak boleh ada kata kunci void

Contoh :
//nama berkas : konstruktor.java
class mobil
{
private String warna;
private int tahun;
public mobil(String warna, int tahun)
{
this.warna = warna;
this.tahun = tahun;
}
public void info()
{
System.out.println("Warna mobil saya : "+ this.warna);
System.out.println("Dibuat tahun : "+ this.tahun);
}
}
public class konstruktor
{
public static void main (String[] args)
{
mobil mobilku = new mobil("Silver",2008);
mobilku.info();
}
}
Hasil :
Warna mobil saya : Silver
Dibuat tahun : 2008

Pada program di atas tampak bahwa nama konstruktor sama dengan nama kelas. Dalam hal ini konstruktor memiliki dua parameter, yaitu warna dan tahun. Selain itu penciptaan objek tidak lagi dilakukan dengan menggunakan bentuk : mobil = new mobil( );


OVERLOADING

Overloading terhadap konstruktor merupakan suatu mekanisme pembuatan konstruktor yang memiliki bentuk lebih dari satu. Dalam hal ini, pembeda antara satu konstruktor dengan konstruktor yang lain berupa jumlah parameter atau tipe parameter.

Contoh :
//nama berkas : konstruktor1.java
class mobil
{
private String warna;
private int tahun;
public mobil(String warna, int tahun)
{
this.warna = warna;
this.tahun = tahun;
}
public mobil()
{
}
public void info()
{
System.out.println("Warna mobil saya : "+ this.warna);
System.out.println("Dibuat tahun : "+ this.tahun);
}
}
public class konstruktor1
{
public static void main (String[] args)
{
mobil mobilku = new mobil("Silver",2008);
mobilku.info();
mobil mobilmu = new mobil();
mobilmu.info();
mobil mobilnya = new mobil("Silver",2008);
mobilnya.info();
}
}
Hasil :
Warna mobil saya : Silver
Dibuat tahun : 2008
Warna mobil saya : null
Dibuat tahun : 0
Warna mobil saya : Silver
Dibuat tahun : 2008

Tampak bahwa pemanggilan dengan mobil mobilmu = new mobil( ); diperkenankan pada program di atas. Mengingat konstruktor yang tidak melibatkan parameter tidak melibatkan perintah apapun, maka warna dan tahun diisi dengan nilai default yaitu null dan 0.

Overloading juga dapat dikenali pada metode non konstruktor.

Contoh :
//nama berkas : overloading.java
class matematika
{
static public double kuadrat(double nilai)
{
return nilai*nilai;
}
static public int kuadrat(int nilai)
{
return nilai*nilai;
}
static public double kuadrat(String nilai)
{
double bilangan = Double.valueOf(nilai).doubleValue();
return bilangan*bilangan;
}
}
public class overloading
{
public static void main (String[] args)
{
System.out.println("Kuadrat dari 25.0 adalah : "+ matematika.kuadrat(25.0));
System.out.println("Kuadrat dari 25 adalah : "+ matematika.kuadrat(25));
System.out.println("Kuadrat dari \"25\" adalah : "+ matematika.kuadrat("25"));
}
}
Hasil :
Kuadrat dari 25.0 adalah : 625.0
Kuadrat dari 25 adalah : 625
Kuadrat dari "25" adalah : 625.0
Metode kuadrat mempunyai tiga buah bentuk yaitu double, int dan String. Program akan menghasilkan keluaran sesuai dengan jenis parameter yang diinput pada program utama.


VARIABEL KELAS

Variabel kelas adalah variabel yang berlaku tidak terbatas hanya pada objek tetapi pada seluruh objek. Variabel ini didefinisikan dengan menggunakan kata kunci static.

Contoh :
//nama berkas : variabelkelas.java
class bilangan
{
static int pencacah = 0;
private int nilai;
public bilangan(int nilai)
{
this.nilai=nilai;
this.pencacah++;
}
public void info()
{
System.out.println("Data ke- "+ this.pencacah);
System.out.println("Bilangan yang Anda ketik : "+ this.nilai);
}
}
public class variabelkelas
{
public static void main (String[] args)
{
bilangan satu = new bilangan(44);
satu.info();
bilangan dua = new bilangan(55);
dua.info();
bilangan tiga = new bilangan(66);
tiga.info();
}
}
Hasil :
Data ke- 1
Bilangan yang Anda ketik : 44
Data ke- 2
Bilangan yang Anda ketik : 55
Data ke- 3
Bilangan yang Anda ketik : 66
Terlihat bahwa nilai pencacah bertambah sebesar satu setiap kali objek berkelas bilangan dibentuk.


PEWARISAN

Pewarisan merupakan konsep dalam pemrograman berorientasi objek yang memungkinkan untuk membuat suatu kelas dengan didasarkan pada kelas yang sudah ada sehingga mewarisi semua metode dan variabelnya. 

Konstruktor, Overloading, dan Pewarisan Pada Java 1_

Pada gambar, kelasA disebut kelas dasar atau superkelas sedangkan kelasB disebut kelas turunan atau kelas anak.

Semua metode dan variabel instan yang terdapat pada kelas dasar diturunkan ke kelas turunan. Namun kelas turunan dapat menambahkan metode baru atau variabel instan baru sendiri.

Contoh :
//nama berkas : alpha.java
class alpha
{
private int a=4;
public void info()
{
System.out.println("Nilai a pada program alpha = "+a);
System.out.println("Dipanggil oleh program : "+this.getClass().getName());
}
}

Untuk membuat kelas turunan, secara prinsip sibuat dengan menggunakan bentuk :
class KelasTurunan extends KelasDasar()
{
pernyataan;
}

Contoh :
//nama berkas : bravo.java
class bravo extends alpha
{
public static void main(String[] args)
{
bravo cetak = new bravo();
cetak.info();
int a = 44;
System.out.println("Nilai a pada program bravo = "+a);
}
}
Hasil :
Nilai a pada program alpha = 4
Dipanggil oleh program : bravo
Nilai a pada program bravo = 44


PENENTU AKSES PROTECTED

Penentu akses ini berguna untuk mengatur agar suatu variabel instan ataupun metode yang terdapat pada sebuah kelas dapat diakses pada kelas itu sendiri dan pada subkelas.

Contoh :
//nama berkas : charlie.java
class charlie
{
private int a=4;
protected int b=44;
public void info()
{
System.out.println("Nilai a = "+a);
System.out.println("Nilai b = "+b);
System.out.println("Dipanggil oleh program : "+this.getClass().getName());
}
}
Setelah itu buat program berikut sebagai turunan dari program charlie.java :
//nama berkas : delta.java
class delta extends charlie
{
private int c=5;
public void info()
{
System.out.println("Nilai a = "+a);
System.out.println("Nilai b = "+b);
System.out.println("Nilai c = "+c);
System.out.println("Dipanggil oleh program : "+this.getClass().getName());
}
}
Hasil :
delta.java:7: a has private access in charlie
System.out.println("Nilai a = "+a);
1 error
Tampak bahwa pesan kesalahan yang menyatakan variabel instan a tidak dikenal karena a adalah variabel private sedangkan b dengan variabvel protected dikenal pada kelas delta.

Untuk memanggil kelas charlie dan delta, buat program berikut ini :
//nama berkas : panggil.java
class panggil
{
public static void main(String[] args)
{
charlie obyek1 = new charlie();
obyek1.info();
delta obyek2 = new delta();
obyek2.info();
}
}
Hasil :
Nilai a = 4
Nilai b = 44
Dipanggil oleh program : charlie
Nilai b = 44
Nilai c = 5
Dipanggil oleh program : delta


PENENTU ABSTRACT

Java menyediakan suatu mekanisme yang memungkinkan suatu metode ditentukan dari dalam kelas tetapi tidak disertai dengan definisinya. Metode ini dikenal dengan nama metode abstrak, sedangkan kelasnya dinamakan kelas abstrak.

Contoh :
//nama berkas : kendaraan.java
public abstract class kendaraan
{
protected String nama;
public abstract void jalankan();
}
Pada program di atas tampak bahwa metode abstrak jalankan() tidak mempunyai tubuh program karena definisi metode tersebut harus dilakukan pada subkelas.

Contoh :
//nama berkas : tesjalankan.java
class sepeda extends kendaraan
{
public sepeda(String nama)
{
this.nama=nama;
}
public void jalankan()
{
System.out.println("Duduklah diatas sadel "+this.nama+" dan kayuhlah...");
}
}
class mobil extends kendaraan
{
public mobil (String nama)
{
this.nama=nama;
}
public void jalankan()
{
System.out.println("Duduklah di depan stir "+this.nama+" dan hidupkan mesin...");
}
}
public class tesjalankan
{
public static void main(String [] args)
{
sepeda sepedaku = new sepeda("Sepeda BMX");
sepedaku.jalankan();
mobil mobilku = new mobil("Sedan");
mobilku.jalankan();
}
}
Hasil :
Duduklah diatas sadel Sepeda BMX dan kayuhlah...
Duduklah di depan stir Sedan dan hidupkan mesin...


LATIHAN

Buat program dengan menggunakan teknik konstruktor untuk mencari BERAT BADAN IDEAL dengan rumus BBI = TINGGI – (110).

BENTUK METODE : hitung(nama, tinggi)


Sekian Artikel Tentang Konstruktor, Overloading, dan Pewarisan Pada Java.

Formulir Kontak

Nama

Email *

Pesan *