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 :
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.
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
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");
}
}
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);
}
}
}
catatan :
Perbedaan
antar override dengan overload
Override
- 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.
Overload
- mendefinisikan method dengan nama sama dalam satu class.
- Konsep sering di gunakan dalam penggunaan constructor.
Nice share bang, jika berkenan kunjungi blog saya juga tentang overloadng dan overriding di :
BalasHapushttp://top-ilmu.blogspot.com/2012/12/overloading-dan-overriding-pada-java.html
thx. :)