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
- 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)
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
Tidak ada komentar:
Posting Komentar