Senin, 23 Mei 2011

Encapsulation, Inheritance, Polymorphism

Encapsulation

Enkapsulasi adalah sebuah kata yang mendapat dianggap remeh tentang banyak dalam diskusi di wiki, dan itu hampir selalu sedang disalahgunakan sebagai sinonim untuk menyembunyikan atau informasi abstraksi. (Saya melakukannya juga.)

Encapsulation merupakan teknik dari pemrograman berorientasi obyek untuk mengatur method atau property dari suatu class dalam hal kemampuan untuk diakses. Pada dasarnya, pemrograman berorientasi obyek merupakan pemrograman yang menggunakan pola pikir alami dengan cara membuat berbagai obyek seperti dalam kehidupan nyata. Antara obyek tersebut kemudian berinteraksi melalui suatu antarmuka (interface). Interaksi antar obyek tersebut harus diatur karena pada dasarnya setiap obyek mempunyai atribut yang boleh diakses maupun atribut yang tidak boleh diakses.

Untuk memberikan contoh konkret perbedaan:

  • interface java menyediakan abstraksi.
  • implementasi dari interface ini yang tidak terkena metode lain yang mempekerjakan menyembunyikan informasi, kita tidak bisa mengatakan bagaimana mereka diterapkan.
  • apabila pelaksanaan memaparkan beberapa metode, adalah mengunakan enkapsulasi

Dalam arti OO ketat dari istilah tersebut, enkapsulasi adalah semua operasi pada objek negara ke objek antarmuka, dan hanya operasi. Ini adalah salah satu arti di mana Anda dapat berbicara 'enkapsulasi menegakkan' tentang. Yang lainnya adalah bahwa metode hanya dapat beroperasi pada keadaan obyek mereka sendiri (yang menunjukkan bahwa benda-benda lain dalam sistem mempekerjakan menyembunyikan informasi).

Inheritance

Inheritance, adalah salah satu konsep utama dalam Pemrograman Berorientasi Objek. Inheritance memperbolehkan penggunaan kembali kode-kode yang ada pada Base Class nya untuk diturunkan pada Derived Class. Contohnya seperti dibawah ini.

Dibawah ini adalah Base Class

class kumpulanVariabel

{

SqlConnection conn;

SqlDataAdapter da;

DataSet ds = new DataSet;

}

dibawah ini adalah Derived Class

class aksesData : kumpulanVariabel

{

static aksesData()

{

conn=new SqlConnection("Data Source=namaServer;Database=northwind;UID=sa;PWD=sa");

conn.Open();

}

public DataSet dataCustomer()

{

da=new SqlDataAdapter("SELECT * FROM customer",conn);

da.Fill(ds,"customer");

return ds;

}

}

Dari contoh class diatas, Class kumpulanVariabel hanya berisi variabel-variabel yang akan diturunkan dalam Class aksesData yang digunakan untuk mengeset koneksi database dan mengambil data tabel.

Polymorphism
Polymorphism merupakan kemampuan suatu method untuk bekerja dengan lebih dari satu tipe argumen. Pada bahasa lain (khususnya C++), konsep ini sering disebut dengan method overloading. Pada dasarnya, Python tidak menangani hal ini secara khusus. Hal ini disebabkan karena Python merupakan suatu bahasa pemrograman yang bersifat dynamic typing yaitu tidak memerlukan deklarasi tipe.
Polymorphism berasal dari bahasa Yunani yang berarti banyak bentuk. Dalam PBO, konsep ini memungkinkan digunakannya suatu interface yang sama untuk memerintah objek agar melakukan aksi atau tindakan yang mungkin secara prinsip sama namun secara proses berbeda.

Poymorphism merupakan konsep OOP yang menyatakan bahwa sesuatu yang sama dapat mempunyai bentuk dan perilaku yang berbeda. Sesuatu yang dimaksud adalah obyek dari suatu kelas. Polimorfieme dapat beroperasi pada dua arah yaitu saat kompilasi dan saat eksekusi. Polimorfisme saat kompilasi yaitu overloading fungsi dan operator.. Polymorphism erat kaitannya dengan pewarisan. Obyek dinamis sebuah kelas dasar dapat berperilaku seperti kelas turunan. Ketika obyek itu menunjuk kelas dasar dia berperilaku seperti kelas dasar, namun ketika menunjuk kelas turunan dia berperilaku seperti kelas turunan. Polymorphism terjadi karena adanya ikatan dinamis. Yaitu ikatan yang terjadi pada saat program dijalankan (di eksekusi). Ikatan dinamis hanya terjadi antara obyek dinamis dengan metode dinamis. Polimorfisme merupakan kemampuan beberapa obyek yang masing-masing berbeda kelas (namun masih terikat inheritance) dalam merespon permintaan kepada suatu method yang sama melalui cara pemanggilan yang spesifik. Secara umum polimorfisme membuat programmer melakukan pemrograman secara umum daripada secara khusus Polimorfisme: dalam sebuah variable tunggal dalam program dapat memegang berbagai jenis objek yang berbeda sewaktu program berjalan, dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Sebagai contoh:burung dan kucing menerima pesan "gerak cepat", maka burung akan menggerakan sayapnya dan terbang, sedangkan kucing akan menggerakkan kakinya dan berlari. ke-2 hewan tersebut menerima pesan yang sama namun melakukas pesan dengan kemampuannya masing-masing.

Dalam konsep yang lebih umum sering kali polymorphism disebut dalam istilah satu interface banyak aksi. Contoh yang konkrit dalam dunia nyata yaitu mobil. Mobil yang ada dipasaran terdiri atas berbagai tipe dan berbagai merk, namun semuanya memiliki interface kemudi yang sama, seperti: stir, tongkat transmisi, pedal gas dan rem. Jika seseorang dapat mengemudikan satu jenis mobil saja dari satu merk tertentu, maka orang itu akan dapat mengemudikan hamper semua jenis mobil yang ada, karena semua mobil tersebut menggunakan interface yang sama.

Referensi

http://translate.google.co.id/translate?hl=id&sl=en&u=http://c2.com/cgi/wiki%3FEncapsulationDefini


Tidak ada komentar:

Posting Komentar