OVERLOADING, OVERRIDING dan
EXCEPTION
OVERLOADING
Overloading
adalah suatu kemampuan dalam bahasa berorientasi objek untuk
Menggunakan satu nama method untuk beberapa
method yang memiliki parameter masukan yang berbeda (tipe maupun jumlah
parameter).
OVERRIDING
Overriding
adalah suatu kemampuan dalam bahasa berorientasi objek untuk mengubah
implementasi (menimpa) suatumethod yang dimiliki oleh kelas super ketika kelas
super tersebut diturunkan. Ada dua alas an mengapa melakukan overriding :
Mendefenisikan
kembali method kelas induk secara total.
Menambah
behavior tertentu pada method kelas induk.
jelasnya :
Akses method
SuperClass
|
||||
Default
|
Protected
|
Publik
|
||
Dioveride ke akses
method SubClass
|
Private
|
Dilarang
|
Dilarang
|
Dilarang
|
Default
|
Boleh
|
Dilarang
|
Dilarang
|
|
Protected
|
Boleh
|
Boleh
|
Dilarang
|
|
Public
|
Boleh
|
Boleh
|
Boleh
|
|
EXCEPTION
Exception
merupakan suatu objek error khusus yang dibuat ketika terjadi kesalahan pada
suatu program.
Kategori
error dalam program :
* Syntax
error
Error
yang terjadi apabila java compiler menemukan kesalahan pada syntax
atau aturan-aturan lainnya
pada program.
* Runtime error
Error yang terjadi karena factor
eksternal, seperti adanya pembagian dengan
Nol, input yang tidak
sesuai dengan tipe yang diminta.
* Logic error
Error yang terjadi karena
kesalahan logika pemograman.
PROGRAM Segitiga.Java
class SegiTiga {
public
SegiTiga(double panjang) { → constuktor satu parameter
System.out.println("\nVariabel
= segitiganya sama sisi");
System.out.println("Panjang
= " +panjang);
keliling(panjang);
}
public
SegiTiga(double panjang, double sisiMiring) { → constructor dua parameter
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);
}
}
Note : Program diatas OverLoading karena ada
dua method yang sama tetapi beda parameter yaitu : public SegiTiga(double
panjang) dan public SegiTiga(double panjang, double sisiMiring)
PROGRAM MainSegitiga.Java
class MainSegiTiga {
public
static void main(String [ ] args) {
new
SegiTiga(7); → memanggil constanta segitiga
new
SegiTiga(4,7); → memanggil method segitiga dua parameter dari kelas segitiga
}
}
Hasil :
Variabel = segitiganya sama sisi
Panjang = 7.0
Hasil = 21.0
2Variabel = segitiganya sama kaki
Panjang = 4.0 sisi miring = 7.0
Hasil = 78.0
PROGRAM
OverRiding.Java
class OverRiding {
public void
MethodAsli( ) {
System.out.println("Method
milik class OverRiding dijalankan");
}
public static
void main(String [ ] args) {
OverRiding
O = new OverRiding( );
O.MethodAsli( ); → memanggil MethodAsli dari ob1.
}
}
Hasil :
Method milik class OverRiding dijalankan
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 [ ] args) {
SubOverRiding
SO = new SubOverRiding( );
SO.MethodAsli( );
SO.MethodAsliSuper( );
}
}
Hasil :
Method yang sudah OverRiding dijalankan
Method Pemanggil MethodAsli dijalankan
Method milik class OverRiding dijalankan
PROGRAM
TanpaException.java
class TanpaException {
public static
void main (String [ ] args) {
int Nilai =
Integer.parseInt (args[0]);
System.out.println("Nilai
yang dimasukkan : " +Nilai);
}
}
class CobaException {
public static
void main (String [ ] args) {
int nilai = 0;
try {
int
Nilai = Integer.parseInt (args[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");
}
}
}
Hasil :
Pasti yang diinput bukan Integer
Blok Finally tetap dilakukan
PROGRAM
PembagianNol.Java
class PembagianNo1 {
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");
}
}
import java.io.*;
class TesInputData {
public static
void main (String[ ] args) {
BufferedReader
BR = new BufferedReader(new InputStreamReader(System.in));
String
Input = " ";
try {
System.out.println("Masukkan
data : ");
Input
= "Salah";
}
finally
{
System.out.println("Data
yang anda masukkan adalah : "+Input);
}
}
}
Hasil :
Masukkan data :
Data yang anda masukkan adalah : Salah
Dosen :
Sundari Retno Andani, S.T,M.Kom






No comments:
Post a Comment