Konstruktor mempunyai sifat :
- Namanya sama dengan kelas
- Tidak memiliki nilai balik
- Tidak boleh ada kata kunci void
Contoh :
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 :
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 : konstruktor.javaHasil :
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();
}
}
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.javaHasil :
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();
}
}
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 :
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.
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.javaHasil :
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();
}
}
Data ke- 1Terlihat bahwa nilai pencacah bertambah sebesar satu setiap kali objek berkelas bilangan dibentuk.
Bilangan yang Anda ketik : 44
Data ke- 2
Bilangan yang Anda ketik : 55
Data ke- 3
Bilangan yang Anda ketik : 66
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.
Pada gambar, kelasA disebut kelas dasar atau superkelas sedangkan kelasB disebut kelas turunan atau kelas anak.
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.javaHasil :
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);
}
}
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.javaSetelah itu buat program berikut sebagai turunan dari program 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());
}
}
//nama berkas : delta.javaHasil :
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());
}
}
delta.java:7: a has private access in charlieTampak bahwa pesan kesalahan yang menyatakan variabel instan a tidak dikenal karena a adalah variabel private sedangkan b dengan variabvel protected dikenal pada kelas delta.
System.out.println("Nilai a = "+a);
1 error
Untuk memanggil kelas charlie dan delta, buat program berikut ini :
//nama berkas : panggil.javaHasil :
class panggil
{
public static void main(String[] args)
{
charlie obyek1 = new charlie();
obyek1.info();
delta obyek2 = new delta();
obyek2.info();
}
}
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 :
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.
Contoh :
//nama berkas : tesjalankan.javaHasil :
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();
}
}
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.