KELAS INNER, KELAS ABSTRACT, DAN INTERFACE

Slides:



Advertisements
Presentasi serupa
Pemrograman JAVA (TIB09)
Advertisements

Deklarasi Class Kelas pada Java dideklarasikan dengan menggunakan kata kunci class. Contoh : class Mobil { String warna; int thn_prod; } Mobil Data :
Pemrograman Berorientasi Objek
Nur Hayatin, S.ST Jurusan Teknik Informatika Universitas Muhammadiyah Malang Sem Genap 2010.
Abstract Class & Interface
Pemrograman JAVA (TIB09)
Workshop SCS: Java Game Programming
BAB III – CLASS (1) DIKTAT PBO Oleh: Adam Mukharil B. S.Kom.
Abstract & Interface As’ad Djamalilleil
Pemrograman Berorientasi Objek
Pemrograman Java Pewarisan / Inheritance Polimorfisme Pemrograman Java.
Inheritance Ery Setiyawan Jullev A.
ABSTRACT CLASS & INTERFACE
Membuat Class Sendiri Atribut Pertemuan : Object Oriented Programming.
INTERFACE & ABSTRACT CLASS
Advanced Class 2 Pertemuan 11 Pemrograman Berbasis Obyek Oleh Tita Karlita.
Pemrograman Berbasis Obyek
Encapsulation, Inheritance, polymorphism, dan interface
Pemrograman Berorientasi Objek
INHERITANCE, POLYMORPHISM, DAN INTERFACE
Pewarisan, Polimorfisme, dan Interface
Class, Inheritance, Encapsulation & Interface
Pemrograman Berorientasi Obyek Oleh Tita Karlita
- PERTEMUAN 6- INTERFACE
- PERTEMUAN 9 - BERBAGAI KELAS UTILITAS DI JAVA
Abstract Class.
Pertemuan : Object Oriented Programming
Pemrograman Berorientasi Obyek dengan JAVA Interface
PELATIHAN JAVA FUNDAMENTAL
Desain Berorientasi object
07 Advanced Class Features
Object Oriented Programming with JAVA 2011/2012
NAMA : JUMADI Npm : Interface mendefinisikan sebuah cara standar dan umum dalam menetapkan sifat-sifat dari class-class. Mereka menyediakan.
OOP Java 06 Polymorphism.
Public class RelasiDemo { public static void main(String[] args) { //beberapa nilai int i = 37; int j = 42; int k = 42; System.out.println("Nilai variabel...");
Pemrograman Berorientasi Obyek Lanjut (IT251)
Inheritance Matakuliah : T0984 / Algoritma dan Metode Object Oriented Programming II Pertemuan : 4 Tahun : 2008 Versi : 1/0.
Inheritance, polymorphism, dan interface
Kelas Lanjut 2 Oleh Tita Karlita.
Class and Object Matakuliah : XXXX / Algoritma dan Metode Object Oriented Programming II Pertemuan : 2 Tahun : 2008 Versi : 1/0.
INHERITANCE (Oleh : Nur Hayatin, S.ST)
OOP Java Minggu 2b Dasar OOP. Class (1) Deklarasi class : [ *] class { [ *] } Cat : [] = optional, * = repeat 0-N.
MATERI IV OOP (Object Oriented Programming) Chapter II.
Pertemuan 6 PEWARISAN AND POLYMORPHISM
MEMBUAT KELAS SENDIRI Dewi Sartika, M.Kom.
POLYMORPHISM, ABSTRACT CLASS DAN INTERFACE
BAB contoh penerapan inheritance dan encapsulation
Class & Object Disusun Oleh: Reza Budiawan Untuk:
Access Modifier.
POLYMORPHISM, ABSTRACT CLASS DAN INTERFACE
Pengorganisasian Class
Abstract Class.
MODIFIER JAVA.
MENGENAL KEYWORD this, static, final
Pemrograman Berorientasi Objek
Pengorganisasian Class
INTERFACE Pertemuan 005.
ABSTRACT CLASS DAN INTERFACE
Interface.
Matakuliah : M0864/Programming I
Pemrograman Berorientasi Objek
PBO Lanjutan Membuat Kelas.
POLYMORPHISM.
ABSTRACT CLASS DAN INTERFACE
MENGENAL KEYWORD this, static, final
Pemrograman Berorientasi Object
Polimorphism Dosen Pengampu : Nur Iksan.
Inisiasi Class dan Object
Pemrograman berorientasi objek
Pemrograman Berorientasi Objek
Transcript presentasi:

KELAS INNER, KELAS ABSTRACT, DAN INTERFACE Pemrograman Berorientasi Objek 1 KELAS INNER, KELAS ABSTRACT, DAN INTERFACE

INNER KELAS Class yang dideklarasikan di dalam class Pemrograman Berorientasi Objek 1 INNER KELAS Class yang dideklarasikan di dalam class class X { … [modifier akses ] class Y { …. } Menghasilkan dua file *.class, yaitu Outer.class dan Outer$Inner.class Outer class Inner class X.class X$Y.class

Pemrograman Berorientasi Objek 1 Inner kelas Inner class merupakan bagian dari kelas, maka diperlakukan seperti member class lainnya Inner dapat mengakses semua member dari outer class, begitu juga sebaliknya Inner class digunakan selayaknya class normal, tapi inner class ini dapat digunakan di luar outer classnya tergantung modifier aksesnya.

Contoh Inner kelas class Buku { private int nomor; Pemrograman Berorientasi Objek 1 Contoh Inner kelas class Buku { private int nomor; private String judul; class Bab { private int noBab; public String getBab() { return "nomor buku: "+nomor+", judul buku: "+judul +", nomor Bab: "+noBab; } private Bab bab = new Bab(); public void setBab(int nomor,String judul,int noBab ) { this.nomor = nomor; this.judul = judul; bab.noBab = noBab; public void cetak(){ System.out.println(bab.getBab());

Pemrograman Berorientasi Objek 1 Contoh Inner kelas class DemoBuku { public static void main(String[] args) { Buku buku = new Buku(); buku.setBab(10,”PBO 1”,6) buku.cetak(); }

Pemrograman Berorientasi Objek 1 ABSTRACT CLASS Suatu kelas yang dinyatakan abstract yang umumnya memiliki satu atau lebih abstract method Abstract method adalah suatu method yang belum memiliki implementasi dan menggunakan modifier abstract. Abstract class biasanya dijadikan parent atau super class dari kelas-kelas yang dapat membuat object. (tidak dapat membuat object dari abstrak class)

Analogi Kelas yang Abstract Pemrograman Berorientasi Objek 1 Analogi Kelas yang Abstract Suatu kelas dapat diinstansiasi menjadi objek, misal kelas Dosen dapat diinstansiasi menjadi wilis, bayu, lina, namun tidak mungkin dapat menginstansiasi kelas MahlukHidup, kelas Hewan, dan kelas Manusia, sebab kelas tersebut terlalu umum (abstract), kelas seperti inilah yang disebut kelas abstract. Dibutuhkan kelas turunan yang lebih khusus. MakhlukHidup Hewan Dosen wilis bayu lina

Analogi Method yang Abstract Pemrograman Berorientasi Objek 1 Analogi Method yang Abstract Bila kelas MahlukHidup mempunyai method bernafas, maka tidak dapat ditentukan cara suatu mahluk hidup tersebut bernafas (dengan paru-paru, insang, atau stomata), method seperti inilah yang disebut method abstract. Dibutuhkan kelas turunan yang khusus dan method override dari method yang abstract

Pemrograman Berorientasi Objek 1 Contoh Abstract Class abstract class A { abstract public void method2(); //method konkrit yg memiliki implementasi public void method1() { System.out.println(”Method konkrit dari class A”); } class B extends A { public void method2() { System.out.println(”Method abstrak yang sudah menjadi konkrit dalam class B”); class DemoAbstrak { public static void main(String[] args) { B ob = new B(); ob.method1(); ob.method2();

Pemrograman Berorientasi Objek 1 INTERFACE kelas yang berisi method-method tanpa implementasi, namun tanpa modifier abstract, apabila suatu interface memiliki atribut, maka atributnya akan berlaku sebagai konstanta (static final).

Pemrograman Berorientasi Objek 1 Analogi Interface Interface dapat dianalogikan sebagai kontrak yang dapat dipakai oleh setiap kelas. Dengan demikian untuk membuat objek seorang budi bekerja sebagai dosen, harus dibuat kelas yang merupakan turunan kelas manusia yang meng-implementasikan interface dosen.

Deklarasi Interface Bentuk umum deklarasi: // deklarasi konstanta Pemrograman Berorientasi Objek 1 Deklarasi Interface Bentuk umum deklarasi: [modifier] interface NamaInterface { // deklarasi konstanta // deklarasi method } Catatan : modifier static tidak boleh digunakan dalam interface

Implementasi Interface Pemrograman Berorientasi Objek 1 Implementasi Interface Bentuk umum implementasi : [modifier] class NamaKelas implements NamaInterface { // penggunaan konstanta // implementasi method }

Interface vs Class komponen interface class definisi Pemrograman Berorientasi Objek 1 Interface vs Class komponen interface class definisi daftar deklarasi method model objek kandungan informasi isi/implementasi semua methodnya berada di luar interface ini mendefinisikan attribute dan method secara rinci dan konkret instansiasi tidak boleh boleh

Interface vs Inheritance Pemrograman Berorientasi Objek 1 Interface vs Inheritance Inheritance adalah proses pewarisan attribute dan method dari satu kelas super kepada satu/lebih subkelas. Syntax kelas yang menggunakan lebih dari satu interface : [modifier] class NamaKelas implements NamaInterface1, NamaInterface2, … { //interfaceBody }

Interface vs Abstract Class Pemrograman Berorientasi Objek 1 Interface vs Abstract Class komponen interface abstract class attribute hanya berupa konstanta bebas memilki tipe data apa saja method berupa deklarasi boleh deklarasi, boleh berupa method lengkap syntax seluruhnya abstract (berupa deklarasi) sebagian abstract

Pemrograman Berorientasi Objek 1 Contoh Interface interface Queue { public void push(int e); public int pop(); public void printQ(); }

Pemrograman Berorientasi Objek 1 public class Fifo implements Queue { int bucket[]; int max; int head; public Fifo() { bucket = new int[10]; max = 10; head = -1; } public Fifo(int size) { bucket = new int[size]; max = size; public void push(int e) { if ( head == max - 1) { System.out.println("Queue sudah penuh!"); } else { for (int i = head; i >= 0; i--) { bucket[i+1] = bucket[i]; bucket[0] = e; head++; System.out.println("Nilai " + e + " dimasukkan ke queue");

Pemrograman Berorientasi Objek 1 public class Lifo implements Queue { int bucket[]; int max; int head; public Lifo() { bucket = new int[10]; max = 10; head = -1; } public Lifo(int size) { bucket = new int[size]; max = size; public void push(int e) { if (head == max - 1) { System.out.println("Queue sudah penuh!"); else { bucket[++head] = e; System.out.println("Nilai " + e + " dimasukkan ke queue"); public int pop() { if (head == -1) { System.out.println("Queue sudah kosong!"); return -1; } else { return bucket[head--]; public void printQ() { System.out.print("Isi queue: "); for (int i = 0; i <= head; i++) { System.out.print(bucket[i] + " "); System.out.println();

System.out.println(q.pop()); q.push(3); } Pemrograman Berorientasi Objek 1 public class TestFifo { public static void main(String argv[]) { Fifo q = new Fifo(4); q.printQ(); q.push(1); q.push(2); q.push(3); q.push(4); q.push(5); System.out.println(q.pop()); q.printQ(); q.push(1); q.push(2); System.out.println(q.pop()); q.push(3); }

Pemrograman Berorientasi Objek 1 System.out.println(q.pop()); q.printQ(); q.push(1); q.push(2); q.push(3); } public class TestLifo { public static void main(String argv[]) { Lifo q = new Lifo(4); q.printQ(); q.push(1); q.push(2); q.push(3); q.push(4); q.push(5);

Contoh lain: Abstract Class Pemrograman Berorientasi Objek 1 Contoh lain: Abstract Class Hewan.java abstract class Hewan { protected String nama; protected int jumKaki; protected boolean bisaTerbang = false; public Hewan(String nama, int kaki, boolean terbang) { this.nama = nama; jumKaki = kaki; bisaTerbang = terbang; } public abstract void bersuara(); public static void makan() { System.out.println("nyam, nyam, nyam"); public void isHewan() { System.out.println("nama : "+nama); System.out.println("jumlah kaki : "+jumKaki); System.out.println("bisa terbang : "+bisaTerbang);

Pemrograman Berorientasi Objek 1 Perkutut.java class Perkutut extends Hewan { public Perkutut() { super("perkutut",2,true); } public void bersuara() { System.out.println("\ncuit, cuit, cuit"); public static void main(String[] args) { Perkutut p = new Perkutut(); p.isHewan(); p.bersuara(); Output :

Pemrograman Berorientasi Objek 1 Sapi.java class Sapi extends Hewan { public Sapi() { super("sapi", 4, false); } public void bersuara() { System.out.println("\nemoh…,emoh.."); public static void main(String[] args) { Sapi s = new Sapi(); s.isHewan(); s.bersuara(); Output :

Contoh lain: Interface Pemrograman Berorientasi Objek 1 Contoh lain: Interface Manusia.java interface Manusia { public void menyanyi(); public void ketawa(); } SpongeBob.java class SpongeBob extends Hewan implements Manusia { public SpongeBob() { super("sponge bob", 2, false);} public void bersuara() { System.out.println("\nhallo patrict..");} public void menyanyi() { System.out.println("nye, nye, nye, wik, wik, wik");} public void ketawa() { System.out.println("kek, kek, kek"); } public static void makan() { System.out.println("uenak tenan.."); } public void makan2() { super.makan(); }

Pemrograman Berorientasi Objek 1 Lanjutan SpongeBob.java public static void main(String[] args) { SpongeBob s= new SpongeBob(); s.isHewan(); s.bersuara(); s.menyanyi(); s.ketawa(); s.makan2(); Hewan.makan(); makan(); } Output :