Jumat, 10 November 2017

Overloading & Overriding 


A. Overloading 


Overloading adalah suatu keadaan  dimana beberapa method sekaligus dapat 
mempunyai nama yang sama, akan tetapi mempunyai fungsionalitas yang berbeda. 
Overloading ini dapat terjadi pada class yang sama atau pada suatu parent class dan 
subclass-nya. Tujuan dari Overloading itu sendiri adalah untuk memudahkan 
pemanggilan atau penggunaan method dengan fungsionalitas yang mirip. 
Overloading mempunyai ciri-ciri sebagai berikut:
1. Nama method harus sama 
2. Daftar parameter harus berbeda 
3. Return type boleh sama, juga boleh berbeda 

B. Overriding 

Overriding yaitu mekanisme untuk melakukan penindihan/pergantian method 
yang sebelumnya sudah didefinisikan pada superclass dengan method yang 
sama(nama nya) yang ada di subclass.  
Overriding method mempunyai nama method yang sama, jumlah parameter 
dan tipe parameter serta nilai kembalian (return) method yang di override. 

Ciri-ciri overriding: 
1. Nama method harus sama 
2. Daftar parameter harus sama 
3. Return type harus sama 

Berbeda dengan overloading. Jika overloading, kita boleh menuliskan method 
yang sama namun dengan jumlah parameter yang berbeda dan nilai kembalian harus 
sama. Lain halnya dengan overriding, konsepnya sama dengan overloading yaitu 
menulis kembali method. Namun, 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. 

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 implementasi method Overload dan Overriding : 

 SuperClass

package tugas;
//Superclass
public class superClass {
      public void kali(){   
            System.out.println("ini hasil dari Perkalian");   }

}



SubClass

package tugas;
//subclass
public class Perkalian extends superClass{ 
      //Overriding
            public void kali(int x, int y){   
                  System.out.println((x*y));   } 
      //Overloading
            public void kali(int x, int y, String a){   
                  System.out.println("Hasil perkalian ke-2 = "+(x*y) + "\n" + a);  
                 
                  }
           
}
     


 Main

package tugas;
import java.util.Scanner;
public class main {
     
        public static void main(String [] args){   
              System.out.println("pilih salah satu");
              System.out.println("1. Overloading");
              System.out.println("2. Overriding ");
              Scanner input = new Scanner(System.in);
              int inputan1 = input.nextInt();
              if (inputan1==1){
              System.out.println("Overloading");
              Perkalian pp = new Perkalian(); 
              //Overloading
              pp.kali();        
              pp.kali(5,5);  
              pp.kali(5,5," perkalian");
              System.out.println("Ciri-cirinya: ");
              System.out.println("1. Nama method harus sama \n2. Daftar parameter harus berbeda \n3. Return type boleh sama, juga boleh berbeda ");
              }
              if (inputan1==2){
                    System.out.println("Overriding");
                    Perkalian pp1 = new Perkalian();   
                    //Overriding
                    pp1.kali(5,5); 
                    System.out.println("Ciri-cirinya: ");
                    System.out.println("1.Nama method harus sama \n2. Daftar parameter harus sama \n3. Return type harus sama ");
           
                   
              }
             
              }
        }  


 

0 komentar:

Posting Komentar

BTemplates.com

Cari Blog Ini

Diberdayakan oleh Blogger.

Halaman

Tata Kelola TI: Pengukuran Performa dan Management Sumber Daya

PENGERTIAN PERFORMANCE MEASUREMENT Performance Measurement berfokus pada  pada pengelolaan kinerja teknologi  informasi , bagaimana men...