Minggu, 04 November 2012

Overloading, Overriding dan Exception Java

OVERLOAD
  • Dengan menggunakan kemampuan overload java, kita dapat memiliki lebih dari 1 method dengan nama yang sama di dalam suatu class.
  • Method yang dioverload dan yang mengoverload sebenarnya adalah method-method yang benar-benar berbeda. Mereka hanya memiliki kesamaan nama saja.
  • Constructor dapat dioverload.
·         Aturan overload
1.   Method yang mengoverload HARUS merubah argument list
2.   Method yang mengoverload BOLEH merubah return type
3.   Method yang mengoverload BOLEH merubah access modifier
4.  Method yang mengoverload BOLEH melempar checked exception yang   lebih luas atau baru sama sekali dari method yang dioverload.
5.  Suatu method dapat dioverload di class tersebut atau di subclassnya.

  • Method yang mengoverload HARUS merubah argument list. Aturan ini adalah satu-satunya syarat agar dapat terjadi overload  
  • Suatu method dapat dioverload di classnya atau dapat pula dioverload di subclassnya.

OVERRIDING
  • Dengan overriding, kita dapat memiliki pengenal method yang sama persis dengan dengan pengenal method yang ada di super class, tapi berbeda behavior.
  • Constructor tidak dapat dioverriding. Sebab constructor tidak diturunkan ke subclassnya. 
·         Memanggil method yang dioverride di super class
-  Kita dapat memanggil method yang dioverride di superclass dengan keyword super.
-  Penggunaan keyword super hanya dapat memanggil method di superclassnya langsung. Tidak dapat memanggil method di superclass dari superclass.  
Syarat access modifier
·         Bila suatu method tidak dapat diturunkan, maka method tersebut tidak dapat dioverriding.
  • Method beraccess modifier private adalah tidak diturunkan, oleh karena itu, bila di dalam superclass terdapat method private, dan kemudia pada subclassnya terdapat method yang namanya sama, maka method pada subclass tersebut sebenarnya adalah bukan overriding.  
  • Access modifier method yang mengoverride TIDAK BOLEH lebih restrictive bila dibandingkan dengan access modifier method yang diverride.
  
EXCEPTION
Exception adalah event yang terjadi ketika program menemui kesalahan pada saat instruksi program dijalankan. Banyak hal yang dapat menimbulkan event ini, misalnya crash, harddisk rusak dengan tiba-tiba, sehingga program-program tidak bisa mengakses file-file tertentu. Programmer pun dapat menimbulkan event ini, misalnya dengan melakukan pembagian dengan bilangan nol, atau pengisian elemen array melebihi jumlah elemen array yang dialokasikan dan sebagainya.
Exception terdiri dari dua macam kelompok, yaitu :
  • Exception yang merupakan subclass RunTimeException
  • Exception yang bukan subclass RunTimeException

RunTimeException biasanya disebabkan oleh kesalahan program atau pada desain program. Misalnya NullPointerException yang disebabkan oleh proses inisialisasi program yang tidak sempurna dan ArrayIndexOutOfBoundsException yang  disebabkan akses array yang melebihi kapasitas array yang ada.
Dalam bahasa Java, ketika terjadi kesalahan, otomatis akan dilemparkan sebuah objek yang disebut exception, yang kemudian dapat diproses lebih lanjut oleh fungsi-fungsi yang siap menangani kesalahan tersebut. Proses pelemparan exception tersebut sering dikenal dengan istilah throwing exception, sedangkan proses penerimaan exception yang bersangkutan dikenal dengan istilah catch exception
Ada lima kata kunci yang digunakan oleh Java untuk menanngani exception ini, yaitu, try, catch, finally, throw, dan throws.
Situasi yang menyebabkan exception dibagi menjadi 3 kategori yaitu,
·         Kesalahan kode atau data. Contohnya jika kode berusaha mengakses suatu indeks dari array yang di luar batas array.
·   Metode standar exception. Contohnya, metode substring() dalam kelas String, dapat memunculkan pesan dalam bentuk StringIndexOutofBoundsException.
·      Kesalahan Java. Hal ini merupakan kesalahan dalam mengeksekusi Java Virtual Machine yang dijalankan pada saat kompilasi.

Istilah exception digunakan untuk menunjukkan kesalahan pada hardware, software, serta algoritma. Suatu exception adalah obyek dari kelas standar Throwable, yang mempunyai turunan terdiri dari :
·         Error. Exception yang didefinisikan dalam keas ini mempunyai karakteristik bahwa kondisi yang terjadi tidak dapat diubah. Terdapat tiga macam subclass yang berada dibawahnya yaitu, ThreadDeath, Linkage Error, VirtualMachineError.
·         Exception. Untuk kelas yang diturunkan dari exception kompiler memeriksa bahwa kita bisa menangani exception dengan metode yang ada.
  
Macam penangkaanan exception menggunakan kata kunci try, catch, dan finally sebagai berikut :
·       Kode yang akan dimonitor exception-nya diletakkan dalam blok try. Jika terjadi exception dalam blok tersebut, maka exception dilemparkan.
·             Blok yang diawali dengan catch menangani exception tersebut.
·    Blok yang diawali dengan finally pada umumnya dieksekusi sebelum methode berakhir.

Langkah - langkah Praktikum :
1. SegiTiga.Java

 
 2. MainSegiTiga.Java
 

3.OverRidimg.java
 
4. SubOverRiding.java


Tidak ada komentar:

Posting Komentar