pertemuan 9 JAVA

advertisement
1
KONSTRUKTOR, OVERLOADING
dan PEWARISAN
KONSTRUKTOR
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;
variabel instan
private int tahun;
public mobil(String warna, int tahun)
{
konstruktor
this.warna = warna;
this.tahun = tahun;
}
metode
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( );
Pemrograman
JAVA
2
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()
{
}
konstruktor-1
konstruktor-2
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.
Pemrograman
JAVA
3
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;
Pemrograman
JAVA
4
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.
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.
Pemrograman
JAVA
5
Contoh :
//nama berkas : alpha.java
class alpha
{
digunakan untuk memperoleh
private int a=4;
nama kelas
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());
}
}
Pemrograman
JAVA
6
Setelah itu buat program berikut sebagai turunan dari program charlie.java :
//nama berkas : delta.java
class delta extends charlie
{
supaya program benar,
private int c=5;
baris ini harus dihapus
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();
}
Pemrograman
JAVA
7
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)
Pemrograman
JAVA
Download