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

Sample Overloading pada function TaxCalc pada C#.Net :

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
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;