Kotak Kata Kita

Kamis, 12 Januari 2012

Encapsulation (OOP) pada C++

Ciri penting lainnya dari OOP adalah encapsulation. Encapsulation adalah
sebuah proses dimana tidak ada akses langsung ke data yang diberikan, bahkan
hidden. Jika ingin mendapat data, maka harus berinteraksi dengan objek yang
bertanggung jawab atas dara tersebut. Berikut cirri dari encapsulation:
1. Variabel dan method dalam suatu obyek dibungkus agar terlindungi
2. Untuk mengakses, variabel dan method yang sudah dibungkus tadi perlu
interface
3. Setelah variabel dan method dibungkus, hak akses terhadapnya dapat ditentukan.
4. Konsep pembungkusan ini pada dasarnya merupakan perluasan dari tipe data
struktur
Dua hal dalam enkapsulasi :
1. Information hiding
2. Menyediakan perantara (method) untuk mengakses data
Pada intinya, encapsulation adalah pemisahan antara bagian private dan
public pada sebuah objek. Atau, dapat dipandang sebagai pemisahan antara interface
(bagian private) dan implementation (bagian public).
Objek-objek lain yang hendak berinteraksi dengan objek ini akan mengirimkan
sebuah pesan (message) dan objek ini akan mengerjakan sesuatu dan mengirimkan
pesan balik sebagai jawaban jika diperlukan.
Keuntungan utama dari encapsulation tentu saja adalah penyembunyian
implementasi (implementation hiding). Dengan implementation hiding, kita dapat
memperbaiki bagaimana objek kita bekerja tanpa harus khawatir bagaimana
menginformasikan perubahan tersebut ke objek-objek yang lain. Selama kita tidak
merubah interface dari objek kita, objek-objek yang lain akan tetap dapat
menggunkan objek kita.
Contoh-8 //penggunaan encapsulation
#include <conio.h>
#include <iostream.h>
class satu_kandang
{
int kandang;
public:

void atur(int nilai);
int hasil(void);
};
void satu_kandang :: atur(int nilai)
{
kandang = nilai;
}
int satu_kandang :: hasil(void)
{
return kandang;
}
void main()
{
satu_kandang ayam1, ayam2, ayam3;
int bebek;
ayam1.atur(5);
ayam2.atur(7);
ayam3.atur(2);
bebek=20;
cout<<" Nilai dari ayam1 adalah "<<ayam1.hasil()<<endl;
cout<<" Nilai dari ayam2 adalah "<<ayam2.hasil()<<endl;
cout<<" Nilai dari ayam3 adalah "<<ayam3.hasil()<<endl;
cout<<" Nilai dari bebek adalah "<<bebek<<endl;
getch();
}

Output yang dihasilkan dari program contoh-8 di atas adalah:

Tidak ada komentar:

Posting Komentar