Keuntungan Overriding : dapat menambahkan sifat / atribut pada kelas induk nya
lebih Jelasnya Overloading secara singkat :
- Mendefinisikan method dengan nama sama pada class yang berbeda.
- Konsep dapat di manfaatkan dalam beberapa kasus inheritance, di mana menginginkan penamaan method dengan nama sama namunberbeda dalam impelementasinya.
Syarat overriding :
- Method dengan modifier final tidak dapat dioverrid
Syarat nama method dan argument list :
- Nama dari method yang mengoverride harus sama dengan nama dari method yang dioverride
- Argument list dari method yang mengoverride harus sama persis dengan argument list dari method yang dioverride.
- Bila ternyata argument list tidak sama, akan tetapi nama method sama, maka yang terjadi bukan override melainkan overload !!! [1]
Syarat return type :
1. Return type method yang mengoverride sama dengan return type method yang dioverride.
2. Return type method yang mengoverride adalah subclass dari return type method yang dioverride.
Contoh programnya pada C# :
1. Return type method yang mengoverride sama dengan return type method yang dioverride.
2. Return type method yang mengoverride adalah subclass dari return type method yang dioverride.
Contoh programnya pada C# :
/*
* Created by SharpDevelop.
* User: ceplez
* Date: 5/12/2012
* Time: 3:08 AM
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
namespace praktikumoop5
{
class keliling
{
public int panjang,lebar,kel,ombo;
public void input()
{
Console.Write("Masukan panjang = ");
panjang=Convert.ToInt16(Console.ReadLine());
Console.Write("Masukan lebar = ");
lebar=Convert.ToInt16(Console.ReadLine());
}
public void show()
{
kel=2*(panjang+lebar);
Console.WriteLine("Keliling persegi panjang adalah = {0}",kel);
Console.WriteLine();
}
}
class luas : keliling
{
public void show()
{
ombo=panjang+lebar;
Console.WriteLine("Keliling persegi panjang adalah = {0}",ombo);
Console.WriteLine();
}
}
class Program
{
public static void Main(string[] args)
{
Console.WriteLine("SELAMAT DATANG PROGRAM PRNGHITUNG PERSEGI PANJANG");
Console.WriteLine("------------------------------");
keliling hitung=new keliling();
hitung.input();
hitung.show();
hitung=new luas();
hitung.input();
hitung.show();
Console.Write("Press any key to continue . . . ");
Console.ReadKey(true);
}
}
}
* Created by SharpDevelop.
* User: ceplez
* Date: 5/12/2012
* Time: 3:08 AM
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
namespace praktikumoop5
{
class keliling
{
public int panjang,lebar,kel,ombo;
public void input()
{
Console.Write("Masukan panjang = ");
panjang=Convert.ToInt16(Console.ReadLine());
Console.Write("Masukan lebar = ");
lebar=Convert.ToInt16(Console.ReadLine());
}
public void show()
{
kel=2*(panjang+lebar);
Console.WriteLine("Keliling persegi panjang adalah = {0}",kel);
Console.WriteLine();
}
}
class luas : keliling
{
public void show()
{
ombo=panjang+lebar;
Console.WriteLine("Keliling persegi panjang adalah = {0}",ombo);
Console.WriteLine();
}
}
class Program
{
public static void Main(string[] args)
{
Console.WriteLine("SELAMAT DATANG PROGRAM PRNGHITUNG PERSEGI PANJANG");
Console.WriteLine("------------------------------");
keliling hitung=new keliling();
hitung.input();
hitung.show();
hitung=new luas();
hitung.input();
hitung.show();
Console.Write("Press any key to continue . . . ");
Console.ReadKey(true);
}
}
}
hasilnya adalah seperti di bawah :
pada java :
package praktikumoop3;
import java.util.Scanner;
class balok
{
public void volume()
{
System.out.println("OOP II POLIMORPHISM : OVERLOADING");
System.out.println("MENGHITUNG VOLUME BALOK");
System.out.println();
}
public int volume(int panjang, int lebar, int tinggi)
{
return panjang*lebar*tinggi;
}
public void volume(int vol)
{
System.out.println("Volume balok adalah = "+vol);
}
}
public class Main {
public static void main(String[] args) {
Scanner masuk = new Scanner(System.in);
int panjang;
int lebar;
int tinggi;
int vol;
System.out.print("Masukan panjang = ");
panjang=masuk.nextInt();
System.out.print("Masukan lebar = ");
lebar=masuk.nextInt();
System.out.print("Masukan tinggi = ");
tinggi=masuk.nextInt();
System.out.println();
balok hitung=new balok();
hitung.volume();
vol=hitung.volume(panjang, lebar, tinggi);
hitung.volume(vol);
}
}
hasilnya adalah seperti di bawah
import java.util.Scanner;
class balok
{
public void volume()
{
System.out.println("OOP II POLIMORPHISM : OVERLOADING");
System.out.println("MENGHITUNG VOLUME BALOK");
System.out.println();
}
public int volume(int panjang, int lebar, int tinggi)
{
return panjang*lebar*tinggi;
}
public void volume(int vol)
{
System.out.println("Volume balok adalah = "+vol);
}
}
public class Main {
public static void main(String[] args) {
Scanner masuk = new Scanner(System.in);
int panjang;
int lebar;
int tinggi;
int vol;
System.out.print("Masukan panjang = ");
panjang=masuk.nextInt();
System.out.print("Masukan lebar = ");
lebar=masuk.nextInt();
System.out.print("Masukan tinggi = ");
tinggi=masuk.nextInt();
System.out.println();
balok hitung=new balok();
hitung.volume();
vol=hitung.volume(panjang, lebar, tinggi);
hitung.volume(vol);
}
}
hasilnya adalah seperti di bawah
dan pada c++ adalah seperti berikut :
#include <iostream>
#include <conio.h>
using namespace std;
class keliling
{
public:int panjang;
int lebar;
int kel;
int ombo;
void inputan()
{
cout<<"Masukan panjang = ";
cin>>panjang;
cout<<endl;
cout<<"Masukan lebar = ";
cin>>lebar;
cout<<endl;
}
void show()
{
kel=2*(panjang+lebar);
cout<<"Keliling persegi panjang adalah = "<<kel;
cout<<endl;
}
};
class luas : public keliling
{
public:void show()
{
ombo=panjang*lebar;
cout<<"Luas persegi panjang adalah = "<<ombo;
cout<<endl;
}
};
int main()
{
cout << "SELAMAT DATANG DI PROGRAM PENGHITUNG PERSEGI PANJANG" << endl;
cout << "-----------------------------------------------------" << endl;
keliling hitung;
hitung.inputan();
hitung.show();
luas ngitung;
ngitung.inputan();
ngitung.show();
return 0;
}
hasilnya adalah seperti di bawah :
#include <conio.h>
using namespace std;
class keliling
{
public:int panjang;
int lebar;
int kel;
int ombo;
void inputan()
{
cout<<"Masukan panjang = ";
cin>>panjang;
cout<<endl;
cout<<"Masukan lebar = ";
cin>>lebar;
cout<<endl;
}
void show()
{
kel=2*(panjang+lebar);
cout<<"Keliling persegi panjang adalah = "<<kel;
cout<<endl;
}
};
class luas : public keliling
{
public:void show()
{
ombo=panjang*lebar;
cout<<"Luas persegi panjang adalah = "<<ombo;
cout<<endl;
}
};
int main()
{
cout << "SELAMAT DATANG DI PROGRAM PENGHITUNG PERSEGI PANJANG" << endl;
cout << "-----------------------------------------------------" << endl;
keliling hitung;
hitung.inputan();
hitung.show();
luas ngitung;
ngitung.inputan();
ngitung.show();
return 0;
}
hasilnya adalah seperti di bawah :
Terima kasih, dan sampai ketemu di pembahasan pada bab selanjutnya


0 komentar:
Posting Komentar
thank for your comment..