Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Nur Hayatin, S.ST Jurusan Teknik Informatika Universitas Muhammadiyah Malang Sem Genap 2010.

Presentasi serupa


Presentasi berjudul: "Nur Hayatin, S.ST Jurusan Teknik Informatika Universitas Muhammadiyah Malang Sem Genap 2010."— Transcript presentasi:

1 Nur Hayatin, S.ST Jurusan Teknik Informatika Universitas Muhammadiyah Malang Sem Genap 2010

2  Mahasiswa mampu : Mengenal karakteristik OOP Memahami konsep encapsulation Memahami konsep inheritance Memahami konsep polymorphism Memahami konsep override pada method

3  Ada tiga karakteristik yang dimiliki pemrograman object oriented ; 1. Encapsulation (pembungkusan) 2. Inheritance (pewarisan) 3. Polymorphism (mempunyai banyak bentuk)

4  Encapsulation = pembungkusan. Maksudnya adalah pembungkusan atribut juga method oleh class.  Setiap anggota class (atribut, method) pada pemrograman object oriented seluruhnya dideklarasikan didalam class. Tidak ada satu kode pun yang ditulis diluar kelas.

5  Gambaran pembungkusan oleh class MyDate pada seluruh anggota class-nya (atribut : date, method getDay, getMonth,…dst).

6  Inheritance = pewarisan.  Pewarisan seluruh anggota class (atribut, method) yang dimiliki oleh superclass (kelas induk/parent) ke subclass (kelas anak).

7 Superclass class yang letaknya di atas class tertentu di dalam hierarki. Subclass class yang letaknya di bawah class tertentu di dalam hierarki.

8 Semua class dalam Java, termasuk class yang membangun Java API, merupakan subclass dari superclass Object. Yang merupakan hirarki class tertinggi yaitu : java.lang.object Contoh dari hierarki class :

9  Keyword yang digunakan pada pewarisan : extends.

10  Contoh deklarasi superclass/class parent sederhana misalkan kita buat class parent bernama Person. public class Person { protected String name; protected String address; /** * Default constructor */ public Person(){ System.out.println(“Inside Person:Constructor”); name = ""; address = ""; }.. }

11  Sekarang, kita buat class lain bernama Student yang meng-extends class person.  Untuk itu, kita bisa menulis : public class Student extends Person { public Student(){ System.out.println(“Inside Student:Constructor”); }.. }

12  Untuk memperjelasnya, perhatikan kode dibawah ini,  Dalam kode ini, kita membuat sebuah object dari class Student. Hasil dari program adalah: public static void main( String[] args ){ Student anna = new Student(); } Inside Person:Constructor Inside Student:Constructor

13  Ketika sebuah object Student diinstansiasi, default constructor dari superclass Student dipanggil secara implisit untuk melakukan inisialisasi seperlunya.  Setelah itu, pernyataan di dalam constructor subclass dijalankan.

14 Flowchart program ditampilkan dibawah ini :

15 Keuntungan penggunaan Inheritance dalam OOP : Reusability Ketika behavior(method) dideklarasikan dalam superclass, behavior tersebut otomatis diwariskan ke seluruh subclass Jadi, Anda dapat meng-enkode method hanya sekali dan method tersebut dapat digunakan oleh seluruh subclass Sebuah subclass hanya perlu mengimplementasikan perbedaan antara dirinya sendiri dan parent-nya

16  Jika sebuah subclass menginginkan implementasi yang berbeda terhadap method dari superclassnya, maka salah satu caranya dapat dilakukan dengan meng-override method bersangkutan.  Sebuah subclass dapat meng-override method superclassnya dengan menyediakan sebuah implementasi baru untuk method tersebut.

17 berikut ini merupakan implementasi dari method getName didalam superclass Person public class Person { : public String getName(){ System.out.println("Parent: getName"); return name; }

18  Untuk meng-override method getName dari superclass Person, di dalam subclass Student, kita tulis :  Sekarang, ketika kita memanggil method getName dari object subclass Student, method getName yang di-override akan dipanggil, dan hasilnya akan menjadi, public class Student extends Person{ : public String getName(){ System.out.println("Student: getName"); return name; } : } Student: getName

19 Polymorphism (1)Kemampuan sebuah variabel reference untuk merubah behavior sesuai dengan apa yang dipunyai object. (2)polymorphism membuat objek-objek yang berasal dari subclass yang berbeda, diperlakukan sebagai objek-objek dari satu superclass. Hal ini terjadi ketika memilih method yang sesuai untuk diimplementasikan ke objek tertentu berdasarkan pada subclass yang memiliki method bersangkutan.

20  Untuk menjelaskan polymorphism, mari kita bahas sebuah contoh.  Berikut adalah hirarki class nya.

21 misalnya, kita memiliki sebuah method getName dalam superclass Person. Dan kita meng-override method ini di kedua subclass yaitu Student dan Employee public class Student { public String getName(){ System.out.println(“Student Name:” + name); return name; } public class Employee { public String getName(){ System.out.println(“Employee Name:” + name); return name; }

22 Dalam Java, kita dapat membuat referensi dari suatu superclass ke object dari subclassnya. Sebagai contoh, public static main( String[] args ) { Person ref; Student studentObject = new Student(); Employee employeeObject = new Employee(); ref = studentObject; //titik referensi Person kepada // sebuah object Student }

23  Kembali ke method utama kita, ketika kita mencoba memanggil method getName dari referensi Person ref, method getName dari object Student akan dipanggil.  Sekarang, jika kita memberi ref kepada object Employee, maka method getName juga akan dipanggil

24 public static main( String[] args ) { Person ref; Student studentObject = new Student(); Employee employeeObject = new Employee(); ref = studentObject; //titik referensi Person kepada object Student //getName dari class Student dipanggil String temp=ref.getName(); System.out.println( temp ); ref = employeeObject; //titik referensi Person kepada object Employee //getName dari class Employee dipanggil String temp = ref.getName(); System.out.println( temp ); }

25  Contoh lain yang menggambarkan polymorphism adalah ketika kita mencoba untuk passing reference kepada method  jika kita memiliki sebuah method static printInformation yang menerima referensi Person sebagai parameter public static printInformation( Person p ){.. }

26 Sebenarnya kita dapat passing reference dari Employee dan Student kepada method printInformation selama kedua class tersebut merupakan subclass dari Person public static main( String[] args ) { StudentstudentObject = new Student(); EmployeeemployeeObject = new Employee(); printInformation( studentObject ); printInformation( employeeObject ); }

27

28

29

30

31  Matius S, Sri H, Nerry S, “ Java 2 SE dengan JBuilder”, Andi publisher, Yogyakarta, 2005.  Jeni 1


Download ppt "Nur Hayatin, S.ST Jurusan Teknik Informatika Universitas Muhammadiyah Malang Sem Genap 2010."

Presentasi serupa


Iklan oleh Google