1. Paus lan sapi

Mangkene kasunyatan zoologi sing menarik: sapi luwih cedhak karo paus tinimbang, contone, karo kuda nil. Pranyata sapi lan paus iku relatif cedhak.

Delengen kene. Ayo menehi pitutur marang kowe babagan polimorfisme - alat liyane sing kuat banget saka OOP . Wis papat fitur.


2. Pusaka dudu panacea

Mbayangno sing wis nulis Cowkelas kanggo game. Wis akeh lapangan lan cara. Objek saka kelas iki bisa nindakake macem-macem perkara: mlaku, mangan, lan turu. Sapi uga nganggo lonceng sing muni nalika mlaku. Upaminipun sampeyan wis ngleksanakake kabeh ing kelas kanggo rincian cilik.

Banjur klien sampeyan teka lan ujar manawa dheweke pengin ngeculake level game anyar, sing kabeh tumindak ditindakake ing segara, lan karakter utama yaiku paus.

Sampeyan miwiti ngrancang Whalekelas lan éling sing iku mung rada beda saka Cowkelas. Logika loro kelas kasebut meh padha lan sampeyan mutusake nggunakake warisan.

Polimorfisme ing basa Jawa

Kelas kasebut Cowcocog kanggo njupuk peran kelas induk: duwe kabeh variabel lan metode sing dibutuhake. Kabeh sing kudu kita lakoni yaiku menehi paus kemampuan kanggo nglangi. Nanging ana masalah: paus sampeyan duwe sikil, sungu, lan lonceng. Sawise kabeh, fungsi iki dileksanakake ing Cowkelas. Apa sing bisa ditindakake ing kene?

Polimorfisme ing basa Jawa.  pusaka

3. Metode overriding

Cara overriding teka kanggo ngluwari kita. Yen kita marisi metode sing ora nindakake apa sing dikarepake ing kelas anyar kita, kita bisa ngganti metode kasebut nganggo cara liyane.

Metode overriding

Kepiye carane iki rampung? Ing kelas turunan kita, kita nyatakake metode sing padha karo metode kelas induk sing pengin ditimpa. Kita nulis kode anyar kita ing. Lan iku - kaya-kaya cara lawas ing kelas induk mung ora ana.

Iki cara kerjane:

Kode Katrangan
class Cow
{
   public void printColor ()
   {
      System.out.println("I'm a white whale");
   }

   public void printName()
   {
      System.out.println("I'm a cow");
   }
}

class Whale extends Cow
{
   public void printName()
   {
      System.out.println("I'm a whale");
   }
}
  • Loro kelas ditetepake kene - CowlanWhale
  • WhalepusakaCow
  • Kelas kasebut Whalengganti printName()metode kasebut
public static void main(String[] args)
{
   Cow cow = new Cow();
   cow.printName();
}
Kode iki nampilake teks ing ngisor iki ing layar:
I'm a cow
public static void main(String[] args)
{
   Whale whale = new Whale();
   whale.printName();
}
Kode iki nampilake ing ngisor iki ing layar:
I'm a whale

Sawise warisan Cowkelas lan overriding printNamemetode, Whalekelas bener ngemot data lan metode ing ngisor iki:

class Whale
{
   public void printColor()
   {
      System.out.println("I'm a white whale");
   }

   public void printName()
   {
      System.out.println("I'm a whale");
   }
}
Kita ora ngerti babagan cara lawas.