Overriding

23 Jan

Berbeda dengan overloading. Kalo overloading, kita boleh menuliskan method yang sama namun dengan jumlah parameter yang berbeda dan nilai kembalian harus sama. Nah, kalau overriding konsepnya sama dengan overloading yaitu menulis kembali method. Namun, caranya overriding menulis kembali method sama persis. Sama mulai dari nama method dan isinya dan mengimplementasi kembali di sub classnya. Overriding dipakai saat kita menggunakan method yang sama tapi berbeda implementasinya. Jadi overriding method mempunyai nama method yang sama, jumlah parameter dan tipe parameter serta nilai kembalian (return) method yang di override. Jika method memiliki modifier akses public, method overridenya juga harus public.

Contoh:

class Kendaraan {
  ..............
  public String getJenis() {
    System.out.println(“Harga BBM turun”);
  }
}
class Motor extends Kendaraan {
  ..............
  public String getJenis() {
    System.out.println(“Harga BBM premium 4000 rupiah”);
  }
}

NB:

  • class motor mengextends class kendaraan
  • class motor melakukan override method di kendaraan namun berbeda implementasi

Kesimpulan:

  • Override method merupakan method yang sama persis dengan method yang sudah ada di super kelasnya, biasanya perbedaannya adalah pada implementasi (program body)
  • Overidding tidak bisa dilakukan dalam kelas itu sendiri
  • Jadi Overidding kerat kaitannya dengan inheritance (pewarisan)

Contoh lain:

class Lingkaran {
  double r;

  Lingkaran(double r) {
    this.r = r;
  }
  double Luas() {
    return Math.PI*this.r*this.r;
  }
  double Luas(double r) {
    this.r = r;
    return Math.PI*this.r*this.r;
  }
}
class Tabung extends Lingkaran {
  double h;

  Tabung() {
  //konstruktor kelas turunan, ada super() dan diisi nilai awal	
    super(0);
  }
  double Luas(double r) {
  //overriding (method and parameter sama)
    this.r = r;
    return Math.PI * this.r * this.r * this.h;
  }
}

NB:

  • Class lingkaran melakukan overloading method Luas (beda signature)
  • Class tabung mengextends class lingkaran
  • Class tabung meng-override method Luas hasil dari overload. Jadi kita juga biosa mengoverride method hasil overloading juga

10 Responses to “Overriding”

  1. Qyu November 5, 2009 at 5:36 am #

    bisa g’ kalo overriiding dan overloading di buat dalam satu lembar script yang sama, please contohnya dengan class Olahraga…. thanks

  2. nazZzz November 8, 2009 at 2:25 pm #

    overloading bisa di class dimana method aslinya dibikin dan di class turunannya
    klo overriding harus di class turunannya gitu

    maksudnya satu lembar script yang sama???

  3. chris April 18, 2010 at 11:55 am #

    mass blog punya sampeyan kok bisa urutan 1 di google kalau saya ketik overriding, bagi ilmunya mas

  4. nazZzz April 24, 2010 at 5:58 pm #

    sekarang jadi nomor.2 ^^
    ya ini kan udah saya bagi-bagi hohoho
    masih nunggu waktu luang buat nambahin materi ma thread di blog ini ^^
    tengkiu udah mampir

    regards…

  5. noverdy anggara June 6, 2010 at 7:00 am #

    nice nih materinya,saya lebih tertarik belajar dari blog2 drpd slide plrjn,m

  6. nazZzz June 6, 2010 at 1:52 pm #

    BIG thanks!!! okelah..
    ini lagi sibuk dengan Kuliah Kerja Nyata (KKN)
    after that, bakalan tak update lagi deh sampe pemrograman desktop plus koneksi database-nya…
    FIGHTING!!!

  7. irham June 7, 2010 at 7:48 pm #

    gila infonya!!
    ini yang dibutuhkan mahasiswa
    bakal sering kesini gua serius
    penyokong negri!! thanks alot

  8. nazZzz June 17, 2010 at 3:01 pm #

    masih newbie ne hohoho
    ntar abis gue kelar KKN gue benerin ne blog
    gue revisi yang salah
    terus mulai gue posting topik baru
    asik deh…tunggu ya ^^

  9. Andika Erwansyah April 1, 2015 at 2:26 am #

    Terimakasih mas bener, mahasiswa kaya ane butuh banget beginian, bakal sering mampir juga nih 😀

Leave a comment