1 / 18

Interface

Interface. Nur Hayatin , S.ST Jurusan Teknik Informatika Universitas Muhammadiyah Malang Sem Genap 2010. Abstract Class. Abstract class Sebuah class yang tidak bisa diinstansiasi. Abstract Class.

sirvat
Download Presentation

Interface

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Interface NurHayatin, S.ST JurusanTeknikInformatika UniversitasMuhammadiyah Malang SemGenap 2010

  2. Abstract Class Abstract class • Sebuah class yang tidakbisadiinstansiasi.

  3. Abstract Class • Class wajibdideklarasikansebagai class abstrakketikadidalamnyaterdapat method abstrak. • Method abstrakadalah method yang hanyadideklarasikantapitidakmempunyaiimplementasi.

  4. Abstract Class public abstract void someMethod(); • Method abstract • Untukmembuat abstract method, tulissajadeklarasi method tanpa body dangunakan keyword abstract. • Sebagaicontoh,

  5. Contoh Abstract Class public abstract class LivingThing { public void breath(){ System.out.println("Living Thing breathing..."); } public void eat(){ System.out.println("Living Thing eating..."); } /** * abstract method walk * Kita ingin method inidi-overrrideoleh subclass dari * LivingThing */ public abstract void walk(); }

  6. Abstract class public class Human extends LivingThing { public void walk(){ System.out.println("Human walks..."); } } Ketikasebuah class meng-extends abstract class LivingThing, diwajibkanmeng-override abstract method walk(), jikatidak, subclass tersebutjugaakanmenjadi abstract class, danolehkarenaitutidakbisadiinstansiasi. Sebagaicontoh,

  7. interface • Interface • Jeniskhususdariblok yang terdiridarisekumpulan method abstrak yang tidakmemilikiimplementasi. • Selalubertipeabstrakmeskipunsecaraeksplisittidakdideklarasikanabstrak. • Semuaanggotadari interface secaraimplisitselalu public sehinggadapatdiaksesdaridalamatauluar package. • Semua field dalam interface selalu public static final.

  8. interface • Untukmembuatsebuah interface, kitatulis: public interface [InterfaceName] { //beberapa method tanpa body }

  9. interface • Contoh : interface Scanner{ int dpi = 120; boolean color = false; }

  10. Membuat interface • Sebagai contoh, mari buat sebuah interface yang mendefinisikan hubungan antara dua object sesuai dengan pesanan dari object. public interface Relation { public boolean isGreater( Object a, Object b); public boolean isLess( Object a, Object b); public boolean isEqual( Object a, Object b); }

  11. Membuat interface • Untukmenggunakan interface, kitagunakan keyword implements • Sebagaicontoh, /* Class inimenjelaskan segment garis*/ public class Line implements Relation { private double x1; private double x2; private double y1; private double y2; public Line(double x1, double x2, double y1, double y2){ this.x1 = x1; this.x2 = x2; this.y1 = y1; this.y2 = y2; }

  12. Membuat interface public double getLength(){ double length = Math.sqrt((x2-x1)*(x2-x1) + (y2-y1)* (y2-y1)); return length; } public booleanisGreater( Object a, Object b){ double aLen = ((Line)a).getLength(); double bLen = ((Line)b).getLength(); return (aLen > bLen); } public booleanisLess( Object a, Object b){ double aLen = ((Line)a).getLength(); double bLen = ((Line)b).getLength(); return (aLen < bLen); } public booleanisEqual( Object a, Object b){ double aLen = ((Line)a).getLength(); double bLen = ((Line)b).getLength(); return (aLen == bLen); } }

  13. Membuat interface • Ketika class Anda mencoba untuk mengimplementasikan sebuah interface, pastikan selalu bahwa Anda mengimplementasikan semua method dari interface tersebut, jika tidak, Anda akan mendapatkan kesalahan ini. Line.java:4: Line is not abstract and does not override abstract method isGreater(java.lang.Object,java.lang.Object) in Relation public class Line implements Relation ^ 1 error

  14. Interface vs. Abstract Class Sebagaicontoh: PersonInterface pi = new Person(); //interface Person pc = new Person(); //class PersonInterface pi = new PersonInterface(); //ERROR! • Semua interface method tidakmemilikibody. • Beberapa Abstract class memiliki method denganimplementasi. • Interface tidakmemilikisegalaimplementasidarimethod. • Interface tidakdapatdiinstansiasi.

  15. Meng-extends Class vs. Implementasi interface • Sebuah class hanya bisa meng-EXTENDS SATU superclass, tetapi juga bisa meng-IMPLEMENTASIKAN BANYAK interface • Sebagai contoh: public class Person implements PersonInterface, LivingThing, WhateverInterface { //beberapa kode disini }

  16. Meng-extends Class vs. Implementasi interface public class ComputerScienceStudent extends Student implements PersonInterface, LivingThing { //Beberapa kode disini } Contoh lain:

  17. Inheritance antar interface public interface PersonInterface { . . . } public interface StudentInterface extends PersonInterface { . . . } Interface bukanlah bagian dari hirarki class, bagaimanapun juga interface dapat memiliki hubungan inheritance antar mereka sendiri Sebagai contoh:

  18. Referensi Jeni 1

More Related