// Mendefinisikan kelas induk
class Penyanyi {
public void bernyanyi() {
System.out.println("Karakteristik nadanya " +
"belum didefinisikan");
}
}
// Mendefinisikan kelas-kelas turunan dari kelas Penyanyi
class PenyanyiJazz extends Penyanyi {
// melakukan override terhadap method bernyanyi()
public void bernyanyi() {
System.out.println("Bernyanyi dengan irama Jazz");
}
}
class PenyanyiPop extends Penyanyi {
// melakukan override terhadap method bernyanyi()
public void bernyanyi() {
System.out.println("Bernyanyi dengan irama Pop");
}
}
class PenyanyiDangdut extends Penyanyi {
// melakukan override terhadap method bernyanyi()
public void bernyanyi() {
System.out.println("Bernyanyi dengan irama Dangdut");
}
}
class DemoPolimorfisme1 {
public static void main(String[] args) {
Penyanyi p;
PenyanyiJazz musmujiono = new PenyanyiJazz();
PenyanyiPop audi = new PenyanyiPop();
PenyanyiDangdut inul = new PenyanyiDangdut();
p = musmujiono; // p mengacu pada objek PenyanyiJazz
// akan memanggil method pada kelas PenyanyiJazz
p.bernyanyi();
p = audi; // p mengacu pada objek PenyanyiPop
// akan memanggil method pada kelas PenyanyiPop
p.bernyanyi();
p = inul; // p mengacu pada objek PenyanyiDangdut
// akan memanggil method pada kelas PenyanyiDangdut
p.bernyanyi();
}
}
Tidak ada komentar:
Posting Komentar