Constructor
Pertanyannya :
1. Bagaimana jika kita tidak akan mengubah nilai P dan Q, tetapi
menggunakan nilai P=88 dan Q=77 ?
2. Bagaimana pula jika yang akan kita ubah Cuma nilai P saja atau Q saja
Overloading
• Adalah mendefinisikan method yang memiliki nama yang
sama, tetapi dengan signature (data type parameter &
parameter number) yang berbeda dalam definisi class
yang sama.
• Constructor == method bisa dioverload (lihat contoh
sebelumnya)
Overloading
Contoh Overloading 1
class Pertambahan{
Sample In Java
• void cetakNama() {
System.out.println("Nama = " + nama);
}
• void cetakNama(String nama) {
System.out.println("Nama = " + nama);
}
• void cetakNama(int nama) {
System.out.println("Nama = " + nama);
}
• // not overloading
void cetakNama(String namaSaya) {
System.out.println("Nama = " + namaSaya);
}
Modul 5 - Constructor, overloading super this overriding 13
Contoh Overloading 2
class overloading{
public void segitiga(){
int alas=5, tinggi=10;
System.out.println("Luas segitiga satu = "+(alas*tinggi)/2);
}
//Metod segitiga di overloading dengan 2 parameter (int x, int y)
public void segitiga(int x, int y){
System.out.println("Luas segitiga dua = "+(x*y)/2);
}
public static void main(String [] args){
System.out.println("I Gede John Arissaputra");
System.out.println("1404505066");
System.out.println("Contoh Overloading");
System.out.println("");
overloading s3;
s3 = new overloading();
s3.segitiga();//memanggil metod segitiga
s3.segitiga(20,8);//memanggil metod segitiga
}}
Modul 5 - Constructor, overloading super this overriding 14
Keyword this
• Kata kunci “this” sangat berguna untuk menunjukkan suatu
member dalam class-nya sendiri. Kata kunci “this” dapat
digunakan untuk data member, untuk method, dan untuk
konstruktor. Adapun format penulisannya adalah:
this.data_member -> merujuk pada data member
this.nama_method -> merujuk pada method
this() -> merujuk pada konstruktor
Modul 5 - Constructor, overloading super this overriding 15
Keyword super
• Keyword “super” digunakan oleh subclass untuk
memanggil konstruktor yang berada pada superclass-
nya.
• Contoh untuk memanggil konstruktor milik superclass-
nya:
super()
super(parameter)
• Contoh untuk memanggil method milik superclass-nya:
super.namaMethod(parameter)
Modul 5 - Constructor, overloading super this overriding 19
Overriding
• Overriding merupakan suatu keadaan dimana kelas anak dapat
mengubah /memodifikasi / memperluas data dan method pada
kelas induk.
• Mendefinisikan method dengan nama sama pada class yang
berbeda.
• Konsep dapat di manfaatkan dalam beberapa kasus inheritance,
di mana menginginkan penamaan method dengan nama sama
namun berbeda dalam impelementasinya
• Keuntungan Overriding :
Dapat menambahkan sifat / atribut pada kelas induknya
Modul 5 - Constructor, overloading super this overriding 20
Overriding
• Overriding adalah menulis kembali method superclass
sama persis, mulai dari nama method dan isinya dan
mengimplementasi kembali di subclassnya. Overriding
dipakai ketika menggunakan method yang sama tapi
berbeda implementasinya atau dengan kata lain,
overriding adalah suatu keadaan dimana method pada
subclass memodifikasi method pada parent /super
class-nya.
• Overriding memiliki ciri-ciri sebagai berikut:
- Nama method harus sama
- Daftar parameter harus sama
- Return type harus sama
Modul 5 - Constructor, overloading super this overriding 21
Overriding
• Pointnya :
• Overriding method mempunyai nama method yang
sama
• Jumlah parameter dan tipe parameter serta nilai kembalian
(return) method yang di override.
• Sintaks overriding:
super.namaMethod(parameter)
Modul 5 - Constructor, overloading super this overriding 22
Contoh Overriding 1
class Nama{
public void Sapa(){
System.out.println("Bill Gates"); }
public static void main(String [] args){
Siapa ss;
Nama nn;
ss = new Siapa();
nn = new Nama();
ss.Sapa();//memanggil method Sapa() pada class Siapa
nn.Sapa();//memanggil method Sapa() pada class Nama
}}
class Siapa extends Nama{
//Method Sapa() pada class Nama di override
public void Sapa(){
System.out.println("Steve Jobs"); }}
Modul 5 - Constructor, overloading super this overriding 23
Contoh Overriding 2
Modul 5 - Constructor, overloading super this overriding 24
Modul 5 - Constructor, overloading super this overriding 25