Turunan bisa memiliki method yang berbeda aksinya dengan leluhurnya

Perhatikan contoh program berikut dan hasilnya jika dijalankan.

program Turunan2;
{$APPTYPE CONSOLE}
type
  TPoint=record
    X,Y:integer;
  end;

  TGambar=class
    Posisi:TPoint;
    procedure GambarObyek;
  end;

  TLingkaran=class(TGambar)
    Jari2:integer;  
    procedure GambarObyek;
  end;

  TKotak=class(TGambar)
    Panjang:integer;
    Lebar:integer;    
    procedure GambarObyek;
  end;

  procedure TGambar.GambarObyek;
  begin
    Writeln('Menggambar obyek');
  end;

  procedure TLingkaran.GambarObyek;
  begin
    Writeln('Menggambar lingkaran');
  end;

  procedure TKotak.GambarObyek;
  begin
    Writeln('Menggambar kotak');
  end;

var
  Gambar:TGambar;
  Lingkaran:TLingkaran;
  Kotak:TKotak;

begin
//membuat obyek
  Gambar:=TGambar.Create;
  Lingkaran:=TLingkaran.Create;
  Kotak:=TKotak.Create;
//memanggil method
  Gambar.GambarObyek;
  Lingkaran.GambarObyek;
  Kotak.GambarObyek;
//membuang obyek
  Gambar.Free;
  Lingkaran.Free;
  Kotak.Free;

  Writeln('Tekan Enter');
  Readln;
end.

Jika program dijalankan hasilnya akan tampak sebagai berikut:

Menggambar obyek
Menggambar lingkaran
Menggambar kotak
Tekan Enter

Dari contoh di atas terlihat bahwa method GambarObject antara TGambar, TLingkaran, dan TKotak memiliki aksi yang berbeda-beda.

Apakah Anda menyukai post ini? Mengapa tidak memberikan komentar di bawah dan melanjutkan perbincangan, atau berlangganan my feed dan dapatkan artikel semacam ini yang dikirm secara otomatis feed reader Anda.
Harap diperhatikan bahwa komentar atau pertanyaan yang disampaikan haruslah sesuai dengan topik yang sedang dibahas. Komentar atau pertanyaan yang tidak sesuai dengan topik akan kami hapus :!:

Tinggalkan komentar

Sebelum membuat komentar, pastikan Anda telah membaca komentar-komentar sebelumnya. Jangan membuat pertanyaan yang telah ditanyakan. Perhatikan pula link-link dalam artikel. Lihatlah link tersebut sebelum membuat pertanyaan, karena mungkin penjelasan dari pertanyaan Anda telah di jawab dalam link tersebut.

Komentar yang tidak mengikuti aturan ini akan dihapus!

(wajib)

(wajib)


Time limit is exhausted. Please reload the CAPTCHA.