Buat 3 class terlebih dahulu. pada contoh kali ini adalah Lingkaran, Tabung, Kerucut:
public class Lingkaran {
int r;
public int getLuasLingkaran(int r) {
return (int) Math.PI * r * r;
}
public void luas() {
int luas = getLuasLingkaran(this.r);
System.out.println("Luas : " + luas);
}
public int getKelilingLingkaran(int r) {
return (int) Math.PI * (r * 2);
}
public void keliling() {
int keliling = getKelilingLingkaran(this.r);
System.out.println("Keliling : " + keliling);
}
}
int r;
public int getLuasLingkaran(int r) {
return (int) Math.PI * r * r;
}
public void luas() {
int luas = getLuasLingkaran(this.r);
System.out.println("Luas : " + luas);
}
public int getKelilingLingkaran(int r) {
return (int) Math.PI * (r * 2);
}
public void keliling() {
int keliling = getKelilingLingkaran(this.r);
System.out.println("Keliling : " + keliling);
}
}
public class Tabung extends Lingkaran{
int tinggi;
int jari;
@Override
public void luas(){
int luas = (2 * super.getLuasLingkaran(this.jari)) + (tinggi * super.getKelilingLingkaran(this.jari));
System.out.println("Luas : " + luas);
}
public void volume(){
int volume = super.getLuasLingkaran(this.jari) * tinggi;
System.out.println("Volume : " + volume);
}
}
int tinggi;
int jari;
@Override
public void luas(){
int luas = (2 * super.getLuasLingkaran(this.jari)) + (tinggi * super.getKelilingLingkaran(this.jari));
System.out.println("Luas : " + luas);
}
public void volume(){
int volume = super.getLuasLingkaran(this.jari) * tinggi;
System.out.println("Volume : " + volume);
}
}
public class Kerucut extends Lingkaran{
int tinggi;
int jari;
@Override
public void luas(){
int selimut = (int) Math.sqrt(Math.pow(this.tinggi,2) + Math.pow(this.jari,2));
int luas = (super.getLuasLingkaran(this.jari) + (selimut * (int) Math.PI * this.jari));
System.out.println("Luas : " + luas);
}
public void volume(){
int volume = (int)(0.333 * (super.getLuasLingkaran(this.jari) * tinggi));
System.out.println("Volume : " + volume);
}
}
perlu diketahui bahwa class berwarna merah adalah super class dari class yang berwarna biru dan hijau. Dari sini akan tampak kegunaan overriding. Perhatikan fungsi luas() pada setiap class. ketiga fungsi tersebut bertipe fungsi sama, nama fungsi sama, dan nilai kembaliannyapun sama.Namun , di sinilah overriding berperan karena fungsi luas() di dalam tabung akan menampilkan luas tabung dan fungsi luas() pada kerucut akan menampilkan luas kerucut. Semoga Bermanfaat.
Tidak ada komentar:
Posting Komentar