Overloading, OverRiding dan Exception
A.
OVERLOADING
Overloading
adalah suatu kemampuan dalam bahasa berorientasi objek untuk menggunakan suatu
nama method untuk beberapa method yang memiliki parameter masukan yang berbeda
(tipe maupun jumlah parameter). Atau dengan kata lain, dalam satu kelas ada
beberapa method yang sama tetapi ada bedanya yaitu dari segi parameternya.
Contoh:
1.
Membuat Program SegiTigaa.Java
class SegiTigaa{ // membuat sebuath class dengan nama Segitiga
public SegiTigaa (double panjang)
{ // constructor SegiTiga dengan satu parameter yaitu panjang
System.out.println("\nVariabel
= segitiganya sama sisi"); //
mencetak kata n yang pertama yaitu :”Variabel = segitiganya sama sisi”
System.out.println("Panjang
= " +panjang); //mencetak Panjang= ditambah nilai parameter panjang
keliling(panjang);
// method keliling dengan parameter panjang
}
public
SegiTigaa(double panjang, double sisiMiring){
// constructor SegiTiga dengan
dua parameter yaitu panjang dan sisi miring.
System.out.println("\n2Variabel
= segitiganya sama kaki"); // mencetak n yang kedua yaitu :”Variabel =
segitiganya sama kaki”
System.out.println("Panjang
= " +panjang+ " sisi miring = " +sisiMiring); //mencetak
Panjang= ditambah nilai parameter panjang dan mencetak sisi miring ditambah
nilai parameter sisiMiring.
keliling(panjang,
sisiMiring); //method keliling dengan parameter panjang dan sisiMiring.
}
public
void keliling(double panjang) { // memanggil method keliling yang menggunakan
parameter panjang saja.
tampilkanHasil(panjang*3);
// method tampilkanHasil dengan nilai parameter panjang dikali 3.
}
public
void keliling(double p, double sM) { // memanggil method keliling yang
menggunakan parameter panjang dan sisiMiring.
tampilkanHasil(2*sM+p);
// method tampilkanHasil dengan parameter sisiMiring(sM) dikali 2 dan ditambah
parameter panjang(p).
}
protected
void tampilkanHasil(double h) { //memanggil method tampilkanHasil dengan
parameter h
System.out.println("Hasil
= " +h); //mencetak “Hasil=”
ditamabah nilai parameter h.
}
}
Output:
Tidak
ada karena tidak memiliki fungsi utama/ Jika dijalankan maka mucul tampilan
seperti dibawah ini :
2.
Membuat Program MainSegitiga.java
class MainSegiTiga { // membuat class baru dengan nama MainSegiTiga.
public static void
main(String [] args) { //Fungsi Utama
new SegiTigaa(7); // memanggil method SegiTiga yang pertama
pada class SegiTiga dan mengirimkan nilai 7 pada parameter panjang.
new SegiTigaa(4,7); //
memanggil method SegiTiga yang kedua
pada class SegiTiga dan mengirimkan nilai 4 pada parameter panjang dan nilai 7 pada
parameter sisiMiring.
}
}
Output:
B. OVERRIDING
Overriding
adalah suatu kemampuan dalam bahasa berorientasi objek untuk mengubah
implementasi (menimpa) suatu method yang memiliki oleh kelas super ketika kelas
super tersebut diturunkan.
Contoh :
1.
Membuat Program OverRiding.java
class OverRiding{ // membuat
class baru dengan nama OverRiding
public void MethodAsli() { //
method MethodAsli
System.out.println("Method
milik class OverRiding dijalankan"); // mencetak karakter dalam tanda
kutip.
}
public static void
main(String[]args) { //Fungsi Utama
OverRiding o = new OverRiding();
//membuat objek baru dengan nama o pada constructor OverRiding.
o.MethodAsli(); // memanggil
method MethodAsli.
}
}
Output:
2.
Membuat Program SubOverRiding.java
class SubOverRiding extends
OverRiding { // membuat class baru dengan nama SubOverRiding turunan dari class
OverRiding.
public void MethodAsli(){
//method MethodAsli menimpah MethodAsli pada class OverRiding.
System.out.println("Method
yang sudah OverRiding dijalankan"); // mencetak karakter dalam tanda Kutip
dua pada class subOverRiding.
}
public void MethodAsliSuper(){ //
method MethodAsliSuper
System.out.println("Method
pemanggil MethodAsli dijalankan"); // mencetak karakter dalam tanda kutip
dua.
super.MethodAsli(); //memanggil
MethodAsli
}
public static void main(String []
args) { //Fungsi Utama
SubOverRiding SO = new
SubOverRiding(); //membuat objek baru dengan nama SO pada constructor
SubOverRiding.
SO.MethodAsli(); //memanggil isi
dari MethodAsli
SO.MethodAsliSuper(); //memanggil
isi dari MethodAsliSuper
}
}
Output :
C. EXCEPTION
Exception
merupakan sutu objek error khusus yang dibuat ketika terjadi kesalahan pada
suatu program.
Contoh:
1. Membuat
Program TanpaException.java
class TanpaException { //
membuat class baru dengan nama TanpaException
public static void main (String
[] args){ // Fungsi utama
int Nilai = Integer.parseInt
(args[0]);
System.out.println("Nilai
yang dimasukkan : " +Nilai); // mencetak karakter dalam tanda kutip dan ditambah
nilia parameter Nilai
}
}
Proses untuk melihat out putnya yaitu sebagai
berikut :
1. Klik start ,pilih run ketik cmd
untuk membuka command prompt
2. Ketik perintah cd untuk menuju
direktori tempat TanpaException.java berada.
3.ketik java TanpaException 50
Output:
2. Membuat
Program CobaException.java
class CobaException { // membuat
class baru dengan nama CobaException
public static void main (String
[]args){ //Fungsi Utama
int nilai=0;
try{
int
Nilai = Integer.parseInt (args[0]);
System.out.println("Nilai
yang dimasukkan : " +Nilai);
//mencetak karakter dalam tanda kutip dua dan ditambah nilai parameter
Nilai.
}
catch(Exception e) {
System.out.println("Pasti
yang diinput bukan Integer"); //
mencetak karakter dalam tanda kutip dua.
}
finally {
System.out.println("Blok
finally tetap dilakukan");
//mencetak karakter dalam tanda kutip dua.
}
}
}
Output:
3. Membuat
Program PembagianNol.java
class PembagianNol { //membuat
class baru dengan nama PembagianNol
public static void main (String
[] args) { //Fungsi Utama
System.out.println("Sebelum
pembagian"); //mencetak karakter
dalam tanda kutip dua.
try {
System.out.println(5/0);
}
catch(Throwable T) {
System.out.println("Terjadi
pembagian nol"); //mencetak karakter dalam tanda kutip dua.
}
System.out.println("Sesudah
pembagian"); // mencetak karakter dalam tanda kutip dua.
}
}
Output:
4. Membuat Program TesInputData.java
import java.io.*;
class TesInputData { // membuat
class baru dengan nama TesInputData
public static void main (String
[] args) { //Fungsi Utama
BufferedReader BR = new
BufferedReader(new InputStreamReader(System.in));
String Input = " ";
try {
System.out.println("Masukkan
data : "); // mencetak karakter dalam tanda kutip dua.
Input = "Salah";
}
finally {
System.out.println("Data
yang anda masukkan adalah " +Input); // mencetak karakter dalam tanda
kutip dua dan ditambah nilai dari input.
}
}
}
Output: