Pertemuan 6
Overriding, Overloading dan Exception
Syarat Overloading :
1.Nama method harus sama
2. Terjadi dalam sebuah kelas
3. Harus ada perbedaan parameter
dari segi tipe data
Beda Overloading &
Overriding
Overloading
|
Overriding
|
Method terjadi dalam satu kelas
|
Method terjadi dari dua kelas
|
Parameter berbeda
|
Parameter sama
|
Merubah Horizontal
|
Merubah Vertikal
|
Overloading constructor adalah
Overloading yang berulang/ atau constructor yang lebih dari satu
Program SegiTiga.java
Ini bukan kelas utama
class SegiTiga {
//Nama kelas yaitu kelas Segitiga
public SegiTiga(double panjang) {
// method overloading
//konstruktor Segitiga dengan tipe data double dan parameter
panjang
// method Segitiga dengan tipe data double dan parameter panjang
System.out.println ("\nVariabel= segitiganya sama sisi")
System.out.println("Panjang= " +panjang);
keliling(panjang);
//memanggil method keliling &
mengirimkan nilai panjang
}
public SegiTiga(double
panjang,double sisiMiring) {
//konsturktor Segitiga
//method Segitiga tipe data double
parameter panjang,tipe data double parameter sisiMiring
System.out.println ("\nVariabel= segitiganya sama kaki");
System.out.println("Panjang=" +panjang+ " sisi miring=
" +sisiMiring);
keliling(panjang, sisiMiring);
//memanggil method keliling
&mengirimkan nilai panjang dan sisiMiring
}
public void keliling(double
panjang) {
//method keliling dengan tipe data double parameter panjang
tampilkanHasil(panjang*3);
//memanggil method tampilkanHasil
& mengirimkan nilai panjang *3
}
public void keliling(double p,double
sM) {
//memanggil
method keliling tipe data double parameter p, tipe data double parameter sM
tampilkanHasil(2*sM+p);
//memanggil method tampilkanHasil
& mengirimkan nilai 2*sM+p
}
protected void
tampilkanHasil(double h) {
//memanggil method tampilkanHasil tipe data double parameter
h
System.out.println("Hasil=" +h);
}
}
Program MainSegiTiga.java
class MainSegiTiga {
//kelas MainSegiTiga
public static void main (String []
args) {
//fungsi utama
new SegiTiga(7);
//memanggil konstruktor SegiTiga yang parameter 1yaitu
panjang &mengirimkan nilai 7
new SegiTiga(4,7);
//memanggil konstruktor SegiTiga yang
parameter 2 yaitu panjang & sisiMiring &mengirimkan nilai 4,7
}
}
Program OverRiding.java
class OverRiding {
//Kelas OverRiding
public void MethodAsli () {
//Method
MethodAsli
System.out.println("Method milik class OverRiding dijalankan");
}
public static void main (String []
args) {
//fungsi
utama
OverRiding O =new OverRiding();
//membuat objek baru dari kelas OverRiding yaitu o
O.MethodAsli();
//memanggil method objek o dan
MethodAsli
}
}
Program SubOverRiding
class SubOverRiding extends OverRiding {
//kelas SubOverRiding turunan dari
kelas OverRiding
public void MethodAsli () {
//memanggil method MethodAsli
System.out.println("Method
yang sudah OverRiding dijalankan");
}
public void MethodAsliSuper() {
//memanggil
method kelas induk
System.out.println("Method
pemanggil MethodAsli dijalankan");
super.MethodAsli();
//memanggil method kelas induk
}
public static void main (String [] args) {
//fungsi utama
SubOverRiding SO = new
SubOverRiding();
//membuat objek baru dari kelas SubOverRiding yaitu SO
SO.MethodAsli();
//memanggil objek SO & method MethodAsli
SO.MethodAsliSuper();
//memanggil objek SO & method MethodAsli dari kelas
induk
}
}
Program TanpaException.java
class TanpaException {
//kelas TanpaException
public static void main (String []
args) {
//fungsi utama
int Nilai = Integer.parseInt (args[0]);
System.out.println("Nilai yang dimasukkan : " +Nilai);
}
}
Program CobaException.java
class CobaException {
//kelas CobaException
public static void main (String []
args) {
//fungsi utama
int nilai = 0;
//tipe data integer atribut nilai dengan 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 dilakuka");
}
}
}
Program PembagianNol.java
class PembagianNol {
//kelas PembagianNol
public static void main(String []
args) {
//fungsi utama
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");
}
}
Program TesInputData.java
import java.io.*;
class TesInputData {
//kelas TesInputData
public static void main (String[]
args) {
//fungsi utama
BufferedReader BR = new BufferedReader(new
InputStreamReader(System.in));
String Input =" ";
//tipe data String atribut Input dengan nlai spasi
try {
System.out.println("Masukkan data: ");
Input ="Salah";
}
finally {
System.out.println("Data yang anda masukkan adalah "+Input);
}
}
}
Tidak ada komentar:
Posting Komentar