Pengertian Overloading dan Overriding, Inhiretance dan Constructor

Pengertian Overloading dan Overriding, Inhiretance dan Constructor



Overloading Merupakan Suatu Function yang memiliki parameter , dan function tersebut dapat memiliki nama function yang sama dengan yang lainnya dengan syarat jumlah parameter mesti berbeda
atau bisa kita bilang Situasi di mana beberapa rutin dalam sebuah program dapat mempunyai nama sama tetapi berbeda jenis parameter dan/utau jenis return value.

lebih Jelasnya Overloading secara singkat :
  • Nama Method Boleh Sama , Tapi Jumlah Parameter Mesti berbeda
  • Nilai Yang Di Return Harus memiliki Tipe yang sama
 Contoh studi kasus :

public class Hitung
{   static int tambah(int x, int y)
    {   return x+y;
    }
   
    static double tambah(double x, double y)
    {   return x+y;
    }
   
    static int tambah(int x, int y, int z)
    {   return x+y+z;
    }
   
    static void tambah2(int x, int y)
    {   System.out.println("x"+x+" + y"+y+"="+(x+y));
    }
   
    public static void main(String[] a)
    {   int x,y;
        x=2;    y=x+3;
        x=tambah(2,3);
        System.out.println("1.    "+x);
        System.out.printf("2.   %.2f \n",tambah(2.3, 4.1));
        System.out.println("3.   "+tambah(5, 12, 3));
        System.out.println("4.   "+tambah(100, 0.5));
        System.out.println("5.   "+tambah(2.5, 4));
        System.out.println("6.   "+tambah(tambah(x*2, (x*2-y)), tambah((y-x),
                                                tambah(7, 3), 2)));
        System.exit(0);
    }
}


Overriding Merupakan Suatu Keadaan Dimana kelas anak dapat mengubah atau bisa kita bilang memodifikasi atau memperluas data dan method pada kelas induk
Keuntungan Overriding : dapat menambahkan sifat / atribut pada kelas induk nya
lebih Jelasnya Overloading secara singkat :
  • 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 namunberbeda dalam impelementasinya.
Contoh studi kasus :

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”);
}
               }

Inheritance  (Pewarisan) =  Mewariskan objek yang dimiliki ke pada objek yang diturunkan , bersifat menyeluruh.
Kelas yang mewariskan biasa di sebut super class / class induk
Kelas yang diwariskan biasa di sebut sub class / kelas anak
Secara lebih singkat begini :
A sebagai Ayah memiliki Anak bernama B , A berkulit Hitam maka B akan berkulit Hitam jg .
Ini merupakan inheritance terhadap A kepada B , dan inheritance bukan hanya dapat 1x diwariskan , tetapi dapat lebih dari 1x. seperti berikut :
A sebagai Ayah memiliki Anak bernama B , A berkulit Hitam maka B akan berkulit Hitam jg . dan B pun memiliki anak C maka C pun akan berkulit hitam

Dalam hal ini, inheritance bertujuan membentuk obyek baru yang memiliki sifat sama atau mirip dengan obyek yang sudah ada sebelumnya (pewarisan). Obyek turunan dapat digunakan membetuk obyek turunan lagi dan seterusnya. Setiap perubahan pada obyek induk, juga akan mengubah obyek turunannya. Susunan obyek induk dengan obyek turunannya disebut dengan hirarki obyek.

Keuntungan dari inheritance :
- Tidak perlu mendefinisikan Variabel Bila membutuhkan , Cukup menurunkan dari class induk
- Memudahkan dan Mempercepat pemprogramman , mengurangi Code


Contoh studi kasus :

Simpan dengan nama SmartMahasiswa.java

Public class SmartMahasiswa extends Mahasiswa{
}
Simpan dengan nama Main.java

public class Main{

public static void main(String[] args]) {
SmartMahasiswa mhs = new SmartMahasiswa();
mhs.setNim(“1400012”);
mhs.setNama(“Kudiantoro Widianto”);
mhs.printNim();
mhs.printNama();
}
}


Constructor merupakan method khusus yang digunakan untuk menginisialisasi objek, dan tiap class boleh memiliki lebih dari satu constructor.
Perbedaan method biasa dengan constructor adalah bahwa constructor harus  memiliki nama yang sama dengan nama class-nya dan tidak memiliki nilai  kembalian.

Constructor dijalankan pada saat sebuah objek diinisialisasi  (menggunakan kata new). Pada constructor juga berlaku overloading, artinya  boleh mendeklarasikan lebih dari satu constructor, asalkan memiliki parameter yang berbeda.

contoh program yang menggunakan constructor, dimana dalam program ini terdapat dua buah constructor :

class Manusia{
String nama;
String jenkel;
Manusia(){ //constructor
nama = "unknown";
jenkel = "unknown";
}
Manusia(String param1,String param2){ //constructor
nama = param1;
jenkel = param2;
}
void cetak(){
System.out.println("Nama : "+nama);
System.out.println("Jenis Kelamin : "+jenkel +"\n");
}
}

class DemoManusia{

public static void main(String args[]){
Manusia m1,m2;
m1 = new Manusia();
m2 = new Manusia("Hendro","Laki-laki");
m1.cetak();
m2.cetak();
}
}

Share this

Related Posts

Previous
Next Post »

1 comments:

Write comments