Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Pemrograman Berorientasi Objek 1.  Class yang dideklarasikan di dalam class class X { … [ modifier akses ] class Y { …. } … }  Menghasilkan dua file.

Presentasi serupa


Presentasi berjudul: "Pemrograman Berorientasi Objek 1.  Class yang dideklarasikan di dalam class class X { … [ modifier akses ] class Y { …. } … }  Menghasilkan dua file."— Transcript presentasi:

1 Pemrograman Berorientasi Objek 1

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

3 Pemrograman Berorientasi Objek 1  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.

4 Pemrograman Berorientasi Objek 1 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()); }

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

6 Pemrograman Berorientasi Objek 1  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)

7 Pemrograman Berorientasi Objek 1  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. Dosen wilis bayu lina MakhlukHidupHewan

8 Pemrograman Berorientasi Objek 1  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

9 Pemrograman Berorientasi Objek 1 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(); }

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

11 Pemrograman Berorientasi Objek 1  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.

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

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

14 Pemrograman Berorientasi Objek 1 komponeninterfaceclass definisidaftar deklarasi method model objek kandungan informasi isi/implementasi semua methodnya berada di luar interface ini mendefinisikan attribute dan method secara rinci dan konkret instansiasitidak bolehboleh

15 Pemrograman Berorientasi Objek 1  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 }

16 Pemrograman Berorientasi Objek 1 komponeninterfaceabstract class attributehanya berupa konstanta bebas memilki tipe data apa saja methodberupa deklarasiboleh deklarasi, boleh berupa method lengkap syntaxseluruhnya abstract (berupa deklarasi) sebagian abstract

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

18 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; head = -1; } 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"); }

19 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; head = -1; } 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(); }

20 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); q.printQ(); System.out.println(q.pop()); q.printQ(); q.push(1); q.push(2); System.out.println(q.pop()); q.push(3); q.printQ(); }

21 Pemrograman Berorientasi Objek 1 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); q.printQ(); System.out.println(q.pop()); q.printQ(); q.push(1); q.push(2); System.out.println(q.pop()); q.push(3); q.printQ(); }

22 Pemrograman Berorientasi Objek 1 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); } Hewan.java

23 Pemrograman Berorientasi Objek 1 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 : Perkutut.java

24 Pemrograman Berorientasi Objek 1 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 : Sapi.java

25 Pemrograman Berorientasi Objek 1 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(); } Manusia.java

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


Download ppt "Pemrograman Berorientasi Objek 1.  Class yang dideklarasikan di dalam class class X { … [ modifier akses ] class Y { …. } … }  Menghasilkan dua file."

Presentasi serupa


Iklan oleh Google