Interface abstract class
Download
1 / 23

INTERFACE & ABSTRACT CLASS - PowerPoint PPT Presentation


  • 202 Views
  • Uploaded on

INTERFACE & ABSTRACT CLASS. Object Oriented Programming with JAVA 2011/2012. Topics. Abstract class Interface. Apakah abstract class itu ?. Abstract method. Method yang tidak memiliki implementasi (body)

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' INTERFACE & ABSTRACT CLASS' - lonato


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Interface abstract class

INTERFACE & ABSTRACT CLASS

Object Oriented Programming with JAVA

2011/2012


Topics
Topics

  • Abstract class

  • Interface


Apakah abstract class itu
Apakah abstract class itu?


Abstract method
Abstract method

  • Method yang tidak memiliki implementasi (body)

  • Untuk membuat abstract method, hanya tuliskan deklarasi method tanpa bodi, dan gunakan abstract keyword

    • tidak ada { }

  • Sebagai contoh:

    • //ingat tidak ada { }

    • public abstract void someMethod();


  • Abstract class
    Abstract Class

    • Abstract class adalah class yang memiliki minimal satu abstract method

    • Abstract class tidak bisa dibuat instance-nya (tidak bisa dibuat objectnya)

      • //kode di bawah ini menyebabkan compilation error

        MyAbstractClass a1 = new MyAbstractClass();

    • Untuk menggunakan abstract class, digunakan class lain (concrete class)

      • concrete class harus mengimplementasi semua abstract method

      • concrete class menggunakan extends keyword


    Contoh abstract class
    Contoh abstract class

    public abstract class MakhlukHidup {

    public void bernafas(){

    System.out.println("Makhluk hidup bernafas...");

    }

    public void makan(){

    System.out.println("Makhluk hidup makan...");

    }

    /**

    * Abstract method berjalan()

    * Kita ingin mengimplementasi method ini melalui Concrete Class

    */

    public abstract void berjalan();

    }


    Extending abst r act class
    Extending abstract class

    • Ketika concrete class mengimplementasi abstract class MakhlukHidup, maka concrete class tersebutharusmengimplementasi method berjalan(). Jika tidak, maka class tersebutakanjadi abstract class juga, sehinggatidakdapatdiinstansiasi / dibuatobjectnya.

    • Contohnya

      public class ManusiaextendsMakhlukHidup {

      public void berjalan(){

      System.out.println("Manusiaberjalan...");

      }

      }


    Kapan menggunakan abstract method dan abstract class
    Kapanmenggunakan Abstract Method dan Abstract Class?

    • Abstract method digunakan ketika dua atau lebih subclass dirancang untuk memenuhi aturan yang sama dengan implementasi yang berbeda

      • Subclass-subclass ini mengextend abstract class yang sama namun dengan implementasi yang berbeda pada abstract methodnya.

    • Menggunakan abstract class sebagai konsep umum pada top level class hierarki, dan menggunakan banyak subclass untuk membuat detail implementasi abstract class


    Contoh implementasi
    Contoh Implementasi

    public abstract class Printer {

    public abstract void printing();

    public void scanner(){

    }

    }

    public class Canon extends Printer{

    public void printing(){

    System.out.println("nge-print pakaitinta");

    }

    }

    public class Samsung extends Printer {

    public void fotocopy(){

    System.out.println("Bisabuatfotocopy");

    }

    public void printing(){

    System.out.println("nge-print pakai carbon");

    }

    }


    Latihan
    Latihan

    Buatlah sebuah class abstract bernama Mahasiswa memiliki method sbb :

    • isiBiodata(String nama, int nilai) sebagai method abstract

    • registrasi(), menampilkan tulisan ke layar : “nama.......telah melakukan registrasi”

    • testMasuk(), menampilkan tulisan ke layar : “nilai test anda .......”

  • Tambahkan variabel nama dan nilai pada Mahasiswa

  • Buatlah class MahasiswaBaru yang melakukan extending dari class Mahasiswa. Deklarasi ulang method isiBiodata, bodi method akan menampilkan ke layar biodata anda (“nama:......, nilai : ......,pilihan jurusan:,........asal sekolah : ......”)

  • Tambahkan main method pada MahasiswaBaru sehingga output sbb :


  • Apakah interface itu
    Apakah interface itu?


    Interface
    Interface

    • Menggambarkan cara standart tentang behavior-behavior maupun atribut yang dimiliki oleh class.

    • Memungkinkan bagi class, dimanapun dia berada, untuk mengimplementasi standar tingkah laku

    • Untuk model multi inheritance yang mengijinkan sebuah class dapat memiliki lebih dari satu superclass.


    Interface1
    Interface

    • Diawali dengan keyword “interface”. Ingat! Bukan keyword “class”.

    • Berisi method abstract (dapat juga dilengkapi dengan konstanta).

      • Mendefinisikan tingkah laku dari sekumpulan method, tanpa ada body (implementasi dari method)

    • Concrete class harus mengimplementasi semua abstract method


    Deklarasi interface
    Deklarasi Interface

    • Syntax :

    • Contoh : (interface kosong)

    public interface [InterfaceName] {

    //beberapa method tanpa body

    }

    public interface Facsimile{

    }


    Contoh interface
    Contoh Interface

    public interface Facsimile{

    intdotPerInches = 90;

    booleandialPhone (String number);

    void getDocument(intnDoc);

    booleansendDocument(intnDoc);

    void closePhone();

    }

    • Interface facsimile memiliki member : 1 konstanta, 4 method abstract.


    Latihan1
    Latihan

    • Buatlah interface dengan nama OperasiMobil, memiliki beberapa method sbb :

      belok(Arah arah, double radius, double kecAwal, double kecAkhir), bertipe int

      gantiJalur(Arah arah, double kecAwal, double kecAkhir), bertipe int

      signalBelok(Arah arah, boolean signalOn)

      dapatRadarFront(double jarakKeMobil, double kecMobil), bertipe int

      dapatRadarRear(double jarakKeMobil, double kecMobil), bertipe int

      Interface tersebut juga memiliki satu variabel yaitu merekMobil bertipe String.


    Contoh interface1
    Contoh interface

    public interface OperasiMobil {

    // deklarasi konstan bila ada

    // method signatures

    String merekMobil=“Avanza”;

    int belok(Arah arah, double radius, double kecAwal, double kecAkhir);

    int gantiJalur(Arah arah, double kecAwal, double kecAkhir);

    int signalBelok(Arah arah, boolean signalOn);

    int dapatRadarFront(double jarakKeMobil, double kecMobil);

    int dapatRadarRear(double jarakKeMobil, double kecMobil);

    ......

    // more method signatures

    }



    Mengimplementasi interface
    Mengimplementasi interface

    • Untuk membuat concrete class yang mengimplementasi interface, gunakan keyword implements

      /**

      * Class Garis mengimplementasi interface Perbandingan

      */

      public class Garis implements Perbandingan {

      private double x1;

      private double x2;

      private double y1;

      private double y2;

      public Garis(double x1, double x2, double y1, double y2){

      this.x1 = x1;

      this.x2 = x2;

      this.y1 = y1;

      this.y2 = y2;

      }

      // Kode lainnya ...

      }


    Mengimplementasi interface1
    Mengimplementasi interface

    public double dapatPanjang(){

    double panjang = Math.sqrt((x2-x1)*(x2-x1) +

    (y2-y1)* (y2-y1));

    return panjang;

    }

    public boolean lbhBesar( Object a, Object b){

    double aPjg = ((Garis)a).dapatPanjang();

    double bPjg = ((Garis)b).dapatPanjang();

    return (aPjg > bPjg);

    }

    public boolean lbhKecil( Object a, Object b){

    double aPjg = ((Garis)a).dapatPanjang();

    double bPjg = ((Garis)b).dapatPanjang();

    return (aPjg < bPjg);

    }

    public boolean samaDengan( Object a, Object b){

    double aPjg = ((Garis)a).dapatPanjang();

    double bPjg = ((Garis)b).dapatPanjang();

    return (aPjg == bPjg);

    } }


    Latihan2
    Latihan

    • Deklarasikan abstract class dan interface yg keduanya memiliki method sbb :

      • lbhBesar(Object x, Object y), jika x > y maka tampilkan (“lebih besar”)

      • lbhKecil(Object x, Object y), jika x < y maka tampilkan (“lebih kecil”)

      • samaDengan(Object x, Object y), jika x = y maka tampilkan (“sama dengan”)

  • Deklarasikan 2 concrete class : Class Garisdan Class MyInteger

  • Lakukan extending atau implementasi masing-masing abstract class maupun interface tersebut pada kedua class concrete diatas.


  • Latihan3
    Latihan

    • Buatlah abstract class “MakhlukHidup”, memiliki method : bernafas() return type boolean, dan method berbicara() yang merupakan abstract class.

    • Buatlah interface “Aves” memiliki method : terbang() memiliki return type boolean, sayap=true

    • Buatlah interface “Kuda” memiliki atribut kaki=4, method : berjalan()

    • Buatlah class “Elang” yang melakukan extending pada class MakhlukHidup dan interface Aves.

    • Buatlah class “KudaTerbang” yang mengimplementasikan abstract class MakhlukHidup dan kedua interface diatas.


    Kesimpulan
    Kesimpulan

    • Untuk membuat interface keyword yang dipakai adalah interface.

    • Sedangkan untuk menggunakannya keyword yang dipakai adalah implements.

    • Interface dapat digunakan untuk mengatasi permasalah multiple inheritance pada java.


    ad