#trik_pojok { position:fixed;_position:absolute;bottom:0px; left:0px; clip:inherit; _top:expression(document.documentElement.scrollTop+ document.documentElement.clientHeight-this.clientHeight); _left:expression(document.documentElement.scrollLeft+ document.documentElement.clientWidth - offsetWidth); }

Jumat, 07 Desember 2012

BAB. 5 Overloading, Overriding, Exception

Overloading, Overriding, Exception
Overloading dan Overriding, keduanya merupakan class yang memiliki nama method yang sama. Namun pada overloading dan overriding memiliki kesamaan dan perbedaan yang dapat dilihat dari parameternya.
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). Overloading memodifikasi secara horizontal method maupun konstruktor milik kelas super, maupun kelas yang sama.

B. OVERRIDING
Overriding adalah suatu kemampuan dalam bahasa berorientasi objek untuk mengubah implementasi (menimpa) suatu method yang dimiliki oleh kelas super ketika kelas super tersebut diturunkan. Overriding memodifikasi secara vertikal method milik kelas super. Ada dua alasan mengapa melakukan overriding :
1. Mendefenisikan kembali method kelas induk secara total.
2. Menambahkan behaviour tertentu pada method kelas induk.

C. EXCEPTION
       Exception merupakan suatu objek error khusus yang dibuat ketika terjadi kesalahan pada suatu program. Setelah suatu objek exception dibuat oleh java, objek tersebut dikirimkan ke program, proses ini disebut throwing an exception.
             Kategori error dalam program :
              1. Syntax error
              2. Runtime error
              3. Logic error

Membuat Program Overriding.java
class OverRiding {
            public void MethodAsli () {
                        System.out.println("Method Milik class OverRiding dijalankan");
                        }
            public static void main (String [] arqs) {
                        OverRiding O = new OverRiding();
                        O.MethodAsli();
                        }
            }
output :
Membuat Program SubOverriding.java
class SubOverRiding extends OverRiding {
            public void MethodAsli () {
                        System.out.println("Method yang sudah OverRiding dijalankan");
                        }
            public void MethodAsliSuper() {
                        System.out.println("Method pemanggil MethodAsli dijalankan");
                        super.MethodAsli ();  
            }
            public static void main (String [] arqs) {
            SubOverRiding SO= new SubOverRiding ();
            SO.MethodAsli();
            SO.MethodAsliSuper();
            }
}
output :



Pratikum
A. Membuat Program SegiTiga.java
class SegiTiga {
            public SegiTiga (double panjang) {
            System.out.println ("\nVariabel = segitiganya sama sisi");
            System.out.println ("Panjang = " +panjang);
            keliling(panjang);
            }
public SegiTiga (double panjang, double sisiMiring) {
            System.out.println ("\n2Variabel = segitiganya sama kaki");
            System.out.println ("Panjang = " +panjang+ " sisi miring ="  +sisiMiring);
                        keliling(panjang,sisiMiring);
            }
public void keliling(double panjang) {
            tampilkanHasil (panjang*3);
            }
public void keliling(double p, double sM) {
            tampilkanHasil (2*sM+p);
            }
protected void tampilkanHasil (double h) {
            System.out.println ("Hasil = " +h);
  }
}



B. Membuat Program MainSegiTiga.java
Class MainSegitiga {
            Public static void main(string [] arqs) {
                        new Segitiga(7);
                        new Segitiga(4, 7);
}
}

output :
 Membuat Program CobaException.java
class CobaException {
public static void main (String [] arqs) {
int nilai=0;
try {
            int Nilai = Integer.parseInt (arqs[0]) ;
            System.out.println ("Nilai yang dimasukkan : "+Nilai);
            }
            catch(Exception e) {
                        System.out.println("Pasti yang diinput bukan Integer");
                        }
            finally {
                        System.out.println("Blok finally tetap dilakukan");
                        }
            }

output :
Membuat Program PembagianNol.java

class PembagianNol {
   public static void main(String[]args) {
         System.out.println("Sebelum pembagian");
         try {
               System.out.println(5/0);
         }
         catch(Throwable T) {
               System.out.println("Terjadi pembagian nol");
         }
         System.out.println("Sesudah pembagian");
   }
}
 
output :


Membuat Program TesInputData.java
 
import java.io.*;
class TextInputData {
public static void main (String [] arqs) {
BufferedReader BR = new BufferedReader (new
InputStreamReader (System.in));
String Input ="";
try {
System.out.println ("Masukan data : ");
Input = "Salah";
}
finally {
System.out.println ("Data yang anda masukan adalah " +Input);
}
     }
}

 output :



catatan :
Perbedaan antar override dengan overload
Override
  1. Mendefinisikan method dengan nama sama pada class yang berbeda.
  2. Konsep dapat di manfaatkan dalam beberapa kasus inheritance, di mana menginginkan penamaan method dengan nama sama namunberbeda dalam impelementasinya.
Overload
  1. mendefinisikan method dengan nama sama dalam satu class.
  2. Konsep sering di gunakan dalam penggunaan constructor.

Tidak ada komentar:

Posting Komentar