110 likes | 518 Views
KONSEP OOP. INHERITANCE (PEWARISAN) Encapsulation (enkapsulasi) Polymorphism (polimorfisme). Inheritance (Pewarisan) -1-. Dalam pohon hirarki inheritance, sebuah subclass mewujudkan abstraksi yang lebih spesifik dari superclassnya: subclass = superclass + (fitur-fitur baru)
E N D
KONSEP OOP INHERITANCE (PEWARISAN) Encapsulation (enkapsulasi) Polymorphism (polimorfisme)
Inheritance (Pewarisan) -1- • Dalam pohon hirarki inheritance, sebuah subclass mewujudkan abstraksi yang lebih spesifik dari superclassnya: subclass = superclass + (fitur-fitur baru) • Subclass dapat menambahkan fields dan methods baru • Subclass dapat mengambil alih (override) method milik superclass dan mengubah implementasi method tersebut • Manfaat inheritance: • Pemanfaatan kembali (reuse) kelas • Menyediakan model yang bersifat generik (abstract class); implementasi spesifiknya bisa dilakukan kemudian (mungkin oleh pemrogram yang berbeda)
Inheritance (Pewarisan) -2- Contoh : Dulumobil remote kontrol tanpa kabel hanya ada satu tombol untuk maju mundur,sekarangbisa bergerak sesuai keinginan kita. Dulu fungsi jam tangan hanya sebagai penunjukwaktu saja, sekarang fungsinya sudah bertambah, bisa menampilkan tanggal hingga kalender. Sekarang contoh yang dimodifikasi. Jika dulu perseneling mobil hanya manual sekarangsudah ada yang otomatis. Jadi, dengan inheriten semua perubahan itu gak ngerubah bulat-bulat objek yang ada,tetapi hanya menambah dan memodifikasi dengan mempertahankan objek (class) awalnya.
Enkapsulasi -1- • Enkapsulasi menyembunyikan property dan behaviour object dari pihak luar (object yang lain) object lain melihat object ini sebagai “black box” saja
Enkapsulasi -2- public class SegiEmpat { int panjang; int lebar; string warna; public SegiEmpat(string w, int p, int l) { panjang = p; lebar = l; warna = w; } public setWarna (string w) { warna = w; } } Pihak luar (object lain) melihat sPink sebagai sebuah “kotak hitam” yang tidak terlihat isinya, kecuali fields dan methods yang memang dideklarasikan secara publik sPink setWarna(string w) SegiEmpat sPink = new SegiEmpat(“pink”, 20,10); Object lain tidak bisa melihat apa yang dilakukan sPink secara internal
Enkapsulasi -3- • Intinya adalah kita tidak perlu mengetahui apa sih yang adadalam objek itu (class), yang kita butuhkan adalah apa kegunaan, bagaimana caramemakainya dan apa yang akan terjadi. • Ilustrasinya adalah motor. Bagaimana cara menghidupkan motor? • Masukkan kunci, tekan tombol starter dan gas atau kalo tidak ada,pakai kick starter. • Kita tidak perlu tahu apa yang terjadi sebenarnya waktu kita menekan starter atau kick starter. Yang penting motor hidup dan bisa dijalankan. • Ilustrasi lainnya adalahremote control tanpa kabel pada mobil-mobilan. • Kita tidak perduli kerja remotecontrol itu yang sebenarnya, yang penting begitu dihidupkan dan dan stiknya digerakkan ke atas dia akan maju. Begitu digerakkan ke kanan, dia akan belok, dst. • Contoh terakhir adalah jam tangan. • Waktumembeli jam tangan, kita hanya memilihtampilan dan kualitas yang bagus, itu yang terpenting. Tidak peduli cara mesinrangkaian digital yang bekerja di dalam jam itu.
Polymorphism -1- • Poly: banyak; morphism: bentuk sebuah fitur (generik) bisa diimplementasikan dengan berbagai cara • Polymorphism diimplementasikan dengan mekanisme inheritance hewan “bersuara” anjing “menggonggong” kucing “mengeong” kuda “meringkik”
Polymorphism -2- • Dengan satu baris perintah kita bisa menggunakannya untukberbagai keperluan, fungsi itu akan menyesuaikan sendiri ke pemanggilnya. • Ilustrasinya adalah tombol play. Dimana-mana tombol play fungsinya sama, untukmenjalankan. Padahal beda cara kerja tombol play di vcd dan radio. • Inti Polimorfisme adalah objek yang kitagunakan ini bisa berubah sesuai dengan kondisi yang terjadi. Jadi kita tidakperlumenulis kode program yang panjang.