Overloading adalah suatu cara untuk memberikan nama yang sama kepada dua method yang berbeda meski dua method tersebut berada dalam class yang sama. Hal ini dapat dilakukan dengan cara membedakan tipe parameter, jumlah parameter dan susunan parameter, Manfaat penggunaan overloading adalah agar method yang mempunyai tingkah yang hampir sama mudah diingat oleh developer software.
Overriding digunakan oleh Class Turunan yang berusaha memodifikasi tingkah laku yang diwarisi dari Class Induk. Tujuannya adalah supaya Class turunan memiliki tingkah laku yang lebih spesifik. Ini dilakukan dengan cara mendeklarasikan kembali method milik parent class di Class turunan.
Csharp
class Program
{
public static void Main(string[] args)
{
Satu s = new Satu();
s.Tes();
s.Tes("Csharp");
s.Tes("Csharp",2);
s.Tes2();
s = new Dua();
s.Tes2();
Console.Write("\nPress any key to continue . . . ");
Console.ReadKey(true);
}
}
class Satu
{
public void Tes() //---> overload method
{
Console.WriteLine("Testing");
}
public void Tes(string a) //---> overload method
{
Console.WriteLine("Testing {0}",a);
}
public void Tes(string a,int b) //---> overload method
{
Console.WriteLine("Testing {0} ke {1}",a,b);
}
public virtual void Tes2()
{
Console.WriteLine("Override 1");
}
}
class Dua : Satu
{
public override void Tes2() //---> override
{
Console.WriteLine("Override 2");
}
}
Java
package OOPpraktikum;
import java.util.*;
public class MainClass
{
private static Scanner input = new Scanner(System.in);
public static void main(String[] args)
{
Satu s = new Satu();
s.Tes();
s.Tes("Csharp");
s.Tes("Csharp",2);
s.Tes2();
s = new Dua();
s.Tes2();
System.out.println("\nPress any key to continue . . . ");
}
}
class Satu
{
public void Tes() //---> overload method
{
System.out.println("Testing");
}
public void Tes(String a) //---> overload method
{
System.out.println("Testing "+a);
}
public void Tes(String a,int b) //---> overload method
{
System.out.println("Testing "+a+" ke "+b);
}
public void Tes2()
{
System.out.println("Override 1");
}
}
class Dua extends Satu
{
@Override
public void Tes2() //---> override
{
System.out.println("Override 2");
}
}
C++
#include <cstdlib>
#include <iostream>
using namespace std;
class Satu //--->Class
{
public :
void Tes() //---> overload method
{
cout<<"Testing"<<endl;
}
void Tes(string a) //---> overload method
{
cout<<"Testing "<<a<<endl;
}
void Tes(string a,int b) //---> overload method
{
cout<<"Testing "<<a<<" ke "<<b<<endl;
}
virtual void Tes2()
{
cout<<"Override 1"<<endl;
}
};
class Dua : public Satu
{
public :
void Tes2() //--->override
{
cout<<"Override 2"<<endl;
}
};
int main(int argc, char *argv[])
{
Satu s;
Dua d;
Satu *c;
s.Tes();
s.Tes("Csharp");
s.Tes("Csharp",2);
s.Tes2();
c = &d;
c->Tes2();
cout<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
smoga bisa dicopy n dipahami contoh kode program di atass . .
hehehehehehe