Interface


Abstract Methode


Bentuk umum dari sebuah method abstract adalah sebagai berikut:
abstract <modifier> <returnType> <name>(<parameter>*);
Sebuah class yang berisi method abstract harus dideklarasikan sebagai sebuah class abstract.
abstract <modifier> <returnType> <name>(<parameter>*);abstract class
<name> {
   /* constructors, fields and methods */
}
Kata kunci tidak dapat digunakan pada konstruktor atau method  static. Ini juga penting untuk
diingat bahwa class abstract tidak dapat di-instantiate.
Class   yang  meng-extends  sebuah  class  abstract  harus  mengimplementasikan  semua  method
abstract. Jika tidak subclass sendiri dapat dideklarasikan sebagai abstract.



 
Overriding

Overriding menyatakan suatu keadaan
dimana method pada subclass menolak
method pada parent class-nya.
Ciri dari overriding :
– Nama method harus sama
– Daftar parameter harus sama
– Return type harus sama

Peraturan dalam overriding
Method yang terkena Override (overriden
method) tidak boleh mempunyai modifier
yang lebih luas aksesnya daripada method
yang meng-override (overriding method). 



Tugas Akhir Praktikum
abstract class Bentuk {
    protected int panjang;
    protected int lebar;
    public String getBentuk(){
        return "Bentuk Dasar";
        }
    public abstract int hitungLuas();
}

class persegi extends Bentuk {
    public persegi(int panjang, int lebar){
        this.panjang = panjang;
        this.lebar = lebar;
    }
    public String getBentuk (){
        return "Bentuk Bujur Sangkar";
    }
    public int hitungLuas(){
        return panjang*lebar;
    }
}
class lingkaran extends Bentuk {
    public lingkaran (double lebar){
       
        this.lebar =lebar;
    }
    public String getBentuk(){
        return "Bentuk lingkaran";
    }
    public int hitungLuas(){
        return 3.14*lebar*lebar;
    }
   
}

class segitiga extends Bentuk {
    public segitiga(int panjang, int lebar){
        this.panjang = panjang;
        this.lebar = lebar;
    }
    public String getBentuk() {
        return "Bentuk segitiga";
    }
    public int hitungLuas (){
        return panjang*lebar/2;
    }
}
class Demo{
    public static void cetakLuasBentuk (Bentuk btk){
        System.out.println(btk.getBentuk() + "dengan luas" + btk.hitungLuas());
    }
    public static void main (String[] args){
        persegi bs = new persegi (10,20);
        lingkaran lk = new lingkaran (5);
        segitiga st = new segitiga (5,10);
        cetakLuasBentuk(bs);
        cetakLuasBentuk(st);
        cetakLuasBentuk(lk);
   
    }
}



Kegiatan praktikum
interface induk{
    double tambah(double a, double b);
    double kurang(double a, double b);
}

interface turunan extends induk{
    double kali(double a, double b);
    double bagi(double a, double b);
}

class aritmatika implements turunan{
    private double x;
    private double y;

    aritmatika (double x, double y){
    this.x=x;
    this.y=y;
    }
    public double tambah(double a,double b){
    return (a+b);
    }
   
    public double kurang(double a,double b){
    return (a-b);
    }
   
    public double kali(double a,double b){
    return (a*b);
    }
   
    public double bagi(double a,double b){
    return (a/b);
    }

    public void cetakhasil(){
        System.out.println("x= " + x);
        System.out.println("y= " + y);
        System.out.println();
        System.out.println("x+y= " + tambah(x,y));
        System.out.println("x-y= " + kurang(x,y));
        System.out.println("x*y= " + kali(x,y));
        System.out.println("x/y= " + bagi(x,y));
    }
}
class hasil{
    public static void main(String arg[]){
    aritmatika o= new aritmatika(10,2);
    o.cetakhasil();
    }
}

 

0 comments:

Post a Comment