Rabu, 04 Mei 2016

Perbedaan antara metode Overloading dan Overriding di java

Difference between method Overloading and Overriding in java
Perbedaan antara metode Overloading dan Overriding di java

Overloading vs Overriding in Java ?

  1. Overloading terjadi pada saat kompilasi sementara Melebihi terjadi saat runtime: Pengikatan kelebihan beban metode panggilan untuk definisi memiliki terjadi pada saat kompilasi namun pengikatan metode ditimpa panggilan untuk definisi yang terjadi saat runtime.
  2. metode statis dapat kelebihan beban yang berarti kelas dapat memiliki lebih dari satu metode statis nama yang sama. metode statis tidak dapat diganti, bahkan jika Anda menyatakan metode statis yang sama di kelas anak itu tidak ada hubungannya dengan metode yang sama dari kelas induk.
  3. Perbedaan yang paling mendasar adalah bahwa overloading sedang dilakukan di kelas yang sama sedangkan untuk dasar dan anak kelas utama yang diperlukan. Utama adalah tentang memberikan implementasi khusus untuk metode yang diwarisi dari kelas induk.
  4. Mengikat statis digunakan untuk metode kelebihan beban dan dinamis mengikat sedang digunakan untuk metode ditimpa / override.
  5. Kinerja: Overloading memberikan kinerja yang lebih baik dibandingkan dengan override. Alasannya adalah bahwa mengikat metode ditimpa sedang dilakukan saat runtime.
  6. metode swasta dan akhir dapat kelebihan beban tetapi mereka tidak dapat diganti. Ini berarti kelas dapat memiliki lebih dari satu metode swasta / akhir dari nama yang sama tetapi kelas anak tidak bisa menimpa metode swasta / akhir dari kelas dasar mereka.
  7. Kembali jenis metode tidak masalah dalam hal metode overloading, dapat sama atau berbeda. Namun dalam kasus metode override metode utama dapat memiliki jenis kembali yang lebih spesifik (lihat ini).
  8. daftar argumen harus berbeda saat melakukan metode overloading. daftar argumen harus sama dalam metode Melebihi.

Overloading example

//A class for adding upto 5 numbers
class Sum
{
    int add(int n1, int n2) 
    {
        return n1+n2;
    }
    int add(int n1, int n2, int n3) 
    {
        return n1+n2+n3;
    }
    int add(int n1, int n2, int n3, int n4) 
    {
        return n1+n2+n3+n4;
    }
    int add(int n1, int n2, int n3, int n4, int n5) 
    {
        return n1+n2+n3+n4+n5;
    }
    public static void main(String args[])
    {
     Sum obj = new Sum();
     System.out.println("Sum of two numbers: "+obj.add(20, 21));
     System.out.println("Sum of three numbers: "+obj.add(20, 21, 22));
     System.out.println("Sum of four numbers: "+obj.add(20, 21, 22, 23));
     System.out.println("Sum of five numbers: "+obj.add(20, 21, 22, 23, 24));
    }
}

Output:
Sum of two numbers: 41
Sum of three numbers: 63
Sum of four numbers: 86
Sum of five numbers: 110
Di sini kita memiliki 4 versi metode yang sama add. Kami overloading metode add () di sini.
package beginnersbook.com;
class CarClass
{
    public int speedLimit() 
    {
        return 100;
    }
}
class Ford extends CarClass
{
    public int speedLimit()
    {
        return 150;
    }
    public static void main(String args[])
    {
     CarClass obj = new Ford();
     int num= obj.speedLimit();
     System.out.println("Speed Limit is: "+num);
    }
}
Output:
Speed Limit is: 150





0 komentar:

Posting Komentar

http://www.resepkuekeringku.com/2014/11/resep-donat-empuk-ala-dunkin-donut.html http://www.resepkuekeringku.com/2015/03/resep-kue-cubit-coklat-enak-dan-sederhana.html http://www.resepkuekeringku.com/2014/10/resep-donat-kentang-empuk-lembut-dan-enak.html http://www.resepkuekeringku.com/2014/07/resep-es-krim-goreng-coklat-kriuk-mudah-dan-sederhana-dengan-saus-strawberry.html http://www.resepkuekeringku.com/2014/06/resep-kue-es-krim-goreng-enak-dan-mudah.html http://www.resepkuekeringku.com/2014/09/resep-bolu-karamel-panggang-sarang-semut-lembut.html