1 / 30

Pemrograman Berorientasi Objek

Pemrograman Berorientasi Objek. Oleh : Sri Herawati, S.Kom. INHERITANCE. D3 MANAJEMEN INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS TRUNOJOYO. Sub Topik. Inheritance (Pewarisan) Abstract class Abstract Method Interface. Inheritance. Inheritance merupakan salah satu dari 3 konsep dasar OOP.

abner
Download Presentation

Pemrograman Berorientasi Objek

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. Pemrograman Berorientasi Objek Oleh : Sri Herawati, S.Kom INHERITANCE D3 MANAJEMEN INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS TRUNOJOYO

  2. Sub Topik • Inheritance (Pewarisan) • Abstract class • Abstract Method • Interface

  3. Inheritance • Inheritance merupakan salah satu dari 3 konsep dasar OOP. • Konsep inheritance ini mengadopsi dunia riil dimana suatu entitas/obyek dapat mempunyai entitas/obyek turunan. • Dengan konsep inheritance, sebuah class dapat mempunyai class turunan.

  4. Inheritance • Suatu class yang mempunyai class turunan dinamakan parent class atau base class superclass • Sedangkan class turunan itu sendiri seringkali disebut subclass atau child class. • Suatu subclass dapat mewarisi apa-apa yang dipunyai oleh parent class. • Misal : kelas B adalah kelas anak dari kelas A, maka sifat – sifat dari kelas A otomatis akan dimiliki juga oleh kelas B.

  5. Inheratance • Dengan menambahkan kata kunci extends setelah deklarasi nama class, kemudian diikuti dengan nama parent class-nya. • Kata kunci extends tersebut memberitahu kompiler Java bahwa kita ingin melakukan perluasan class. • Bentuk : class kelasturunan extends kelasparent { tubuhkelas }

  6. Inheritance • Kita baruperlumenerapkan inheritance padasaatkitajumpaiadasuatu class yang dapatdiperluasdari class lain. • Konsep inheritance yang adadi Java adalah Java hanyamemperkenankanadanyasingle inheritance. • Konsep single inheritance hanyamemperbolehkansuatusublassmempunyaisatu parent class.

  7. Contoh : parent class class Alpha{ private int a = 5; public void info(){ System.out.println("a= "+a); System.out.println("Dipanggil pada "+ this.getClass().getName()); } } Ket : this.getClass().getName() utk memperoleh nama kelas

  8. Contoh : child class class Bravo extends Alpha { public static void main(String[] args){ Bravo obj= new Bravo(); obj.info(); } }

  9. Hasil :

  10. Penentu akses protected • protected berguna utk mengatur agar suatu variabel instan atau metode yg terdapat pada sebuah kelas dpt diakses pada kelas itu sendiri dan sub kelas.

  11. Contoh :parent class class Alpha{ private int a = 5; protected int b = 7; public void info(){ System.out.println("Dipanggil pada "+ this.getClass().getName()); System.out.println("a= "+ a); System.out.println("b= "+ b); } }

  12. Contoh : child class class Delta extends Alpha { private int c = 9; public void info(){ System.out.println("Dipanggil pada " + this.getClass().getName()); System.out.println("b = " + b); System.out.println("c = " + c); } }

  13. Memanggil parent dan child class class PenentuProtect { public static void main(String[] args){ Alpha objx = new Alpha(); objx.info(); Delta objy = new Delta(); objy.info(); } }

  14. Metode superkelas • Cara untuk memanggil metode superkelas dari subkelas dgn kata kunci super yang berarti superkelas.

  15. Contoh : class Echo extends Alpha { private int c = 9; public void info(){ super.info(); System.out.println("c = " + c); } }

  16. class superkelas { public static void main(String[] args) { Echo obj = new Echo(); obj.info(); } }

  17. Konstruktor • Konstruktor adalah metode yg dpt digunakan utk memberikan nilai awal saat objek diciptakan. • Sifat kontruktor : • namanya sama dgn nama kelas • tidak memiliki nilai balik ( tdk boleh ada kata kunci void) Contoh : new Mobil(“Merah”, 2003)

  18. Overloading • Overloading adalah suatu mekanisme pembuatan kontruktor yg memiliki bentuk lebih dari satu. • Misal: new Mobil(“Merah”,2003) new Mobil()

  19. Contoh : class Mobil{ //variabel instan private String warna; private int tahunproduksi; //konstruktor pertama public Mobil(String warna,int tahunproduksi){ this.warna = warna; this.tahunproduksi=tahunproduksi; } //konstruktor kedua public Mobil(){ } //metode public void info(){ System.out.println("Warna : " +this.warna); System.out.println("Tahun : " +this.tahunproduksi); } } public class kontruktor{ public static void main(String[] args){ Mobil mobilku = new Mobil("Merah", 2003); mobilku.info(); Mobil mobilmu = new Mobil(); mobilmu.info(); } }

  20. Abstract class & Abstract Method • Method abstract adalah suatu metode yg ditentukan dari dalam kelas tetapi tidak disertai dengan definisinya. • Class abstract adalah kelas yg tidak disertai definisinya.

  21. Contoh : class dan method abstact public abstract class kendaraan { protected String nama; public abstract void jalankan(); }

  22. Contoh :tesabstrak class Sepeda extends kendaraan{ public Sepeda(String nama){ this.nama = nama; } public void jalankan(){ System.out.println("Duduklah di atas sadel " +this.nama + " dan kayuhlah.."); } } class Minibus extends kendaraan{ public Minibus(String nama){ this.nama = nama; } } public void jalankan(){ System.out.println("Duduklah di atas setir " +this.nama + " dan hidupkan mesin.."); } } public class tesabstrak{ public static void main(String[] args){ Sepeda sepedaku = new Sepeda("sepeda ontel"); sepedaku.jalankan(); Minibus mobilku = new Minibus("Minibus Keri"); mobilku.jalankan(); } }

  23. Interface • Interface adalah mekanisme yg memungkinkan berbagi konstanta atau menentukan bentuk metode yg dpt digunakan oleh sejumlah kelas. • Variabel dlm interface hanya diperkenankan utk menggunakan public static final.

  24. Mendeklarasikan interface • Bentuk : public interface namainterface{ //metode tanpa implementasi //definisi konstanta }

  25. Menggunakan interface • Sebuah class dpt menggunakan interface melalui kata kunci implements. • Bentuk : class namakelas1 [extends namakelas2] implements namainterface1[,namainterface2]{ //tubuh kelas }

  26. Contoh : interface Intlampu{ public static final int keadaan_hidup =1; public static final int keadaan_mati =0; public abstract void hidupkan(); public abstract void matikan(); } //akhir interface interface Intlampupenyuram extends Intlampu{ public static final int posisi_maks =10; public static final int posisi_min =0; public abstract void redupkan(); public abstract void buatlebihterang(); }

  27. Contoh : class lampupenyuram implements Intlampupenyuram{ private int statuslampu = 0; public void hidupkan(){ this.statuslampu = posisi_maks; System.out.print("hidupkan!: "); System.out.print("Lampu hidup. "); System.out.println("Posisi tombol : " + this.statuslampu); } public void matikan() { this.statuslampu = posisi_min; System.out.print("Matikan ! : "); System.out.println("Lampu mati."); }

  28. Contoh: public void redupkan(){ if (this.statuslampu != posisi_min); this.statuslampu--; System.out.print("redupkan! : "); if (this.statuslampu ==posisi_min) System.out.println("Lampu mati"); else { System.out.print("Lampu Hidup. "); System.out.println("Posisi tombol : " + this.statuslampu); } }

  29. Contoh: public void buatlebihterang(){ if (this.statuslampu != posisi_maks); this.statuslampu++; System.out.print("Buat lebih terang "); System.out.print("Lampu Hidup. "); System.out.println("Posisi tombol : " + this.statuslampu); } } //akhir kelas

  30. Contoh: public class tesinterface{ public static void main(String[] args){ lampupenyuram lampukamar = new lampupenyuram(); lampukamar.hidupkan(); lampukamar.redupkan(); lampukamar.redupkan(); lampukamar.buatlebihterang(); lampukamar.matikan(); lampukamar.buatlebihterang(); } }

More Related