Selasa, 14 Agustus 2012

Demo Polimorfisme

// 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