Pemrograman Berorientasi Objek 1 INFORMATION HIDING ENCAPSULATION INHERITANCE

Pemrograman Berorientasi Objek 1 INFORMATION HIDING, ENCAPSULATION, INHERITANCE, DAN POLYMORHISM Pemrograman Berorientasi Objek

Pemrograman Berorientasi Objek 1 Information Hiding dan Encapsulation � � � Information Hiding adalah menyembunyikan attribute dan method suatu objek dari objek lain. Encapsulation adalah menyembunyikan attribute suatu objek dari objek lain. Attribute maupun method disembunyikan dengan cara memberikan modifier private.

Pemrograman Berorientasi Objek 1 Information Hiding dan Encapsulation � � method setter : method dalam kelas yang sama, yang memberikan nilai pada attribute private method getter : method masih dalam kelas yang sama, yang mengambil nilai dari attribute private

Pemrograman Berorientasi Objek 1 contoh program Information Hiding dan Encapsulation Persegi. Panjang. java public class Persegi. Panjang{ private double panjang; // attribute yg di hide private double lebar; // attribute yg di hide private double tinggi; // attribute yg di hide public Persegi. Panjang() { panjang = 0; lebar = 0; } private double luas(double p, double l) { // di encap return p*l; } public void set. Panjang(double panjang) { this. panjang = panjang; } public void set. Lebar(double lebar) { this. lebar = lebar; } public double get. Panjang() { return panjang; } public double get. Lebar() { return lebar; } public double get. Luas() { return luas(panjang, lebar); } }

Pemrograman Berorientasi Objek 1 contoh program Information Hiding dan Encapsulation Main. Persegi. Panjang. java public class Main. Persegi. Panjang { public static void main(String[] srgs) { Persegi. Panjang pp = new Persegi. Panjang(); pp. set. Panjang(10); pp. set. Lebar(20); System. out. println("Panjang : "+ pp. get. Panjang()); System. out. println("Lebar : "+ pp. get. Lebar()); System. out. println("Luas : "+ pp. get. Luas()); } } Output

Inheritance � � Pemrograman Berorientasi Objek 1 Semua attribute dan method dari suatu kelas super dapat diwariskan ke subkelas Bentuk pewarisan : [modifier] class nama. Sub. Kelas extend nama. Kelas. Super { // class. Body }

Pemrograman Berorientasi Objek 1 Overrriding Attribute dan Method � � Overriding adalah kemampuan suatu subkelas untuk memodifikasi attribute dan method milik kelas supernya (bukan private atau final). Modifikasi : jumlah parameter, tipe return value, ataupun lingkungan pemrosesan datanya

Pemrograman Berorientasi Objek 1 contoh program overriding : Kelas. Super. java class Kelas. Super { public void method. Asli() { System. out. println("Method milik Kelas. Super jalan"); } public static void main(String[] args) { Kelas. Super oks = new Kelas. Super(); oks. method. Asli(); } } Output

Pemrograman Berorientasi Objek 1 contoh program overriding : Sub. Kelas. java class Sub. Kelas extends Kelas. Super { public void method. Asli() { System. out. println("Method yg overrided jalan"); } public void method. Pemanggil (){ System. out. println("Method pemanggil method. Asli jln"); super. method. Asli(); // yg dipanggil milik kelas super } public static void main(String [] args) { Sub. Kelas osk = new Sub. Kelas(); osk. method. Asli(); osk. method. Pemanggil(); } } Output

Pemrograman Berorientasi Objek 1 Menggunakan Method dan Constructor Kelas Super � § § � § Constructor super(); super(tipe parameter); Method (non static) super. nama. Method();

Pemrograman Berorientasi Objek 1 Polymorphism � ◦ ◦ bersifat poly morphy (memiliki banyak bentuk) Method-method overloading dalam kelas yang sama Method-method overloading dalam kelas yang berbeda (kelas turunannya)

Ekspresi. Wajah. java contoh 1 Pemrograman Berorientasi Objek 1 class Ekspresi. Wajah{ class Marah extends public String respons() { return("Perhatikan ekspresi wajah saya"); Ekspresi. Wajah{ public String respons() { } return("Hai kurang ajar. . !"); } } class Gembira extends Ekspresi. Wajah{ } public String respons() { return("ha ha ha. . "); } } class Sedih extends Ekspresi. Wajah{ public String respons() { return("hik ngeee. . "); } }

Main. Ekspresi. Wajah. java contoh 1 Pemrograman Berorientasi Objek 1 class Main. Ekspresi. Wajah{ public static void main(String args[]) { Ekspresi. Wajah obj. Ekspresi = new Ekspresi. Wajah(); Gembira obj. Gembira = new Gembira(); Sedih obj. Sedih = new Sedih(); Marah obj. Marah = new Marah(); Ekspresi. Wajah[] arr. Ekspresi = new Ekspresi. Wajah[4]; arr. Ekspresi[0] = obj. Ekspresi; arr. Ekspresi[1] = obj. Gembira; arr. Ekspresi[2] = obj. Sedih; arr. Ekspresi[3] = obj. Marah; System. out. println("Ekspresi[0]: "+arr. Ekspresi[0]. respons()); System. out. println("Ekspresi[1]: "+arr. Ekspresi[1]. respons()); System. out. println("Ekspresi[2]: "+arr. Ekspresi[2]. respons()); System. out. println("Ekspresi[3]: "+arr. Ekspresi[3]. respons()); } }

contoh 1 Output Pemrograman Berorientasi Objek 1

contoh 2 Pemrograman Berorientasi Objek 1 Employee. java public class Employee { private String name; private double salary; protected Employee(String n, double s) { name = n; salary = s; } protected String get. Details() { return "Name : "+name+ "n. Salary : "+salary; } public void cetak() { System. out. println("Coba di Employee"); } }

Manager. java contoh 2 Pemrograman Berorientasi Objek 1 public class Manager extends Employee { private String department; public Manager(String nama, double salary, String dep) { super(nama, salary); department = dep; } public String get. Department() { return department; } public String get. Details() { return super. get. Details()+"n. Department : "+get. Department(); } public void cetak() { System. out. println("Coba di Manager"); } }

View. java contoh 2 Pemrograman Berorientasi Objek 1 public class View { public static void main(String[] args) { Employee e = new Employee("Ali", 1200000); Employee em = new Manager("Ali", 1200000, "Informatika"); System. out. println("Data employee : n"+e. get. Details()); System. out. println("Data manager : n"+em. get. Details()); em. cetak(); } } Output
- Slides: 17