1. Encapsulation (pembungkusan)
- Pengkapsulan merupakan dasar untuk pembatasan ruang lingkup program terhadap data yang diproses. Dengan demikian objek atau prosedur dari luar tidak dapat mengaksesnya. Data terlindung dari prosedur atau objek lain kecuali prosedur yang berada dalam objek itu sendiri.
- Sebuah object yang terkapsulasi dapat dianggap sebagai black box.
- Proses di dalamnya adalah tertutup bagi klien, yang hanya memanggil metode yang menjadi interface.
- Dalam Java, dasar enkapsulasi adalah Class. Variabel atau method sebuah class tidak dapat diakses dengan menjadikan class tersebut private/protected.
Contoh Enkapsulasi :
Disini terjadi penyembunyian informasi tentang bagaimana cara kerja pengecekan validitas kartu, kecocokan pin yang dimasukkan, koneksi ke database server, dll, dimana hal-hal tersebut tidak perlu diketahui oleh pengguna tentang bagaimana cara kerjanya.
2. Inheritance (pewarisan)
Inheritance (pewarisan) adalah teknik yang menyatakan bahwa anak dari objek akan mewarisi data/atribut dan metode dari induknya langsung. Bila inheritance dipergunakan, kita tidak perlu membuat atribut dan metode lagi pada anaknya, karena telah diwarisi oleh induknya. Inheritance mempunyai arti bahwa atribut dan operasi yang dimiliki bersama di antara class yang mempunyai hubungan secara hirarki.
- Sebuah class bisa mewariskan atribut dan method-nya ke class yang lain
- Class yang mewarisi disebut superclass
- Class yang diberi warisan disebut subclass
- Sebuah subclass bisa mewariskan atau berlaku sebagai superclass bagi class yang lain => disebut multilevel inheritance
Contoh Inheritance
3. Polymorphisme
Polymorphisme yaitu aksi yang sama yang dapat dilakukan terhadap beberapa objek. Polimorfisme berarti bahwa operasi yang sama mungkin mempunyai perbedaan dalam kelas yang berbeda.
- Polymorphism adalah kemampuan untuk tampil dalam berbagai bentuk.
- Hal ini mengacu pada kemungkinan message yang sama dikirimkan ke obyek-obyek lain pada class yang berbeda, dan merespon secara berbeda.
Contoh Polymophisme :
0 comments:
Post a Comment