Pengertian Overloading Dan Overriding
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
public static double TaxCalc(double pamt1, double prate1, double pamt2,
double prate2)
{
double taxamt;
Console.WriteLine(“Using method with 4 arguments”);
taxamt = (pamt1 * prate1) + (pamt2 * prate2);
return taxamt;
} // *** TaxCalc ***
// This method only takes two arguments: an amount and a rate
public static double TaxCalc(double pamt1, double prate1)
{
double taxamt;
Console.WriteLine(“Using method with 2 arguments”);
taxamt = pamt1 * prate1;
return taxamt;
} // *** TaxCalc ***
// This method only takes one argument: an amount
public static double TaxCalc(double pamt)
{
double taxrate = 0.15;
double taxamt = 0;
Console.WriteLine(“Using method with 1 argument”);
taxamt = pamt * taxrate;
return taxamt;
} // *** TaxCalc ***
// This method only takes one argument as well but it differs
// from the above in the argument type.
public static double TaxCalc(string whichtable)
{
double taxrate = 0;
Console.WriteLine(“Calling the method with 1 string argument”);
if (whichtable == “TaxTable1″)
taxrate = 0.15;
return taxrate;
}
Overriding Merupakan Suatu Keadaan Dimana kelas anak dapat mengubah atau bisa kita bilang memodifikasi atau memperluas data dan method pada kelas induk, dan method dengan nama yang sama dengan method lain pada suatu class tetapi dengan parameter yang berbeda. Tujuan dibuatnya overloading yaitu memudahkan penggunaan method dengan fungsi yang hampir sama.
Keuntungan Overriding : dapat menambahkan sifat / atribut pada kelas induk nya
contoh Overriding pada C#.Net
abstract class ShapesClass
{
abstract public int Area();
}
class Square : ShapesClass
{
int x, y;
// Because ShapesClass.Area is abstract, failing to override
// the Area method would result in a compilation error.
public override int Area()
{
return x * y;
}
}
Penjelasan Overloading dan Overriding pada Java
Overloading
Method Overloading adalah sebuah kemampuan yang membolehkan sebuah class mempunyai 2 atau lebih method dengan nama yang sama, yang membedakan adalah parameternya.Pada method overloading perbedaan parameter mencakup :
- Jumlah parameter
- Tipedata dari parameter
- Urutan dari tipe data parameter
Method Overloading juga dikenal dengan sebutan Static Polymorphism. Berikut ini contoh Class yang melakukan Overloading.public class ContohOverloading {public void jumlah (int a, int b){System.out.println("Jumlah 2 angka ="+ (a + b));}//oveloading perbedaan jumlah parameterpublic void jumlah (int a, int b, int c){System.out.println("Jumlah 3 angka =" + (a + b + c));}//overloading perbedaan tipe data parameterpublic void jumlah (double a, int b){System.out.println("Jumlah 2 angka (double+int) = "+ (a + b));}//overloading perbedaan urutan tipe data parameterpublic void jumlah (int b, double a){System.out.println("Jumlah 2 angka (int+double) = "+ (a + b));}}Penggunaan pada class utama :public class PenggunaanOverloading {public static void main(String[] args) {ContohOverloading co = new ContohOverloading();co.jumlah(83,32);co.jumlah(34,454,432);co.jumlah(34.43,34);co.jumlah(28,33.23);}}Overriding
Method overriding merupakan method yang parrent class yang ditulis kembali oleh subclass. Aturan dari method overriding pada Java :
- Parameter yang terdapat pada method overriding di subclass harus sama dengan parameter yang terdapat pada parent class.
- Aturan hak akses, hak akses method overriding di subclass tidak boleh lebih ketat di bandingkan dengan hak akses method pada parent class.
Perbedaan overloading dengan overriding pada Java
Overloading
Sedangkan Overriding
- Nama method sama.
- Parameter Berbeda.
- Biasanya dalam satu class.
- Nama method sama.
- Isi / Body method berbeda.
- Biasanya berbeda class. interface dan implement.
Tidak ada komentar:
Posting Komentar