Ringkasan Pert 5 dan Pert 6

Kamis, 29 Oktober 2009

ENCAPSULATION & ENCAPSULATION LANJUTAN
======================================


Tujuan dari suatu Encapsulation ---> Information Hiding

Information hiding adalah dimana membuat prog tanpa harus mengetahui apa yang trjadi supaya bisa tampil gambar/informasi yang harus diketahui...
Cukup mengetahui apa yang dilakukan oleh objek dan bukan isi dari objek itu..

Encapsulation juga dikatakan sebagai pengkapsulan (dlm sebuah class terdiri dari data dan fungsi)

Contoh:
===========
----Class----
===========
int waktu; // biasa disebut atribut atau data member
...............
...............
===========
void menu() // biasa disebut method atau member function
..................
..................
===========

Dalam sebuah class memiliki:
-constructor=method yang pasti dijalankan ketika objek di buat.
Gunanya sebagai inisialisasi.
Cara penggunaan nya cukup seperti memanggil suatu function tapi nama class na misal:
class dota{}
di dalam nya dimasukan constuctor seperti berikut:
dota(){
hp=400;
mp=300;
strcpy(nama,"ligtning god");
}

-destructor=method yg pasti dijalankan ketika objek di delete
Cara penggunaan nya cukup dengan menambahkan ~, misal:
~dota(){}

Class memiliki 3 akses, yaitu:
Public = bagian class yang dapat diakses oleh umum baik didalam maupun luar class.
Protected = bagian class yang dapat diakses oleh lingkungan interclass dan class turunan.
Private = bagian class yang hanya dapat diakses oleh lingkungan internal class itu sendiri.

Friend function
``````````````
friend function di definisikan di luar dari class’s scope namun memiliki hak akses ke semua members dari class tersebut.
deklarasi nya cukup menanmbahkan keyword friend

contoh:
friend void setX( Count &, int );

Operator Overloading
```````````````````
untuk mengoperasikan data pada object menjadi mudah
deklarasinya cukup menambahkan keyword operator

contoh:
void operator - (data &a,data &b)
{
a.angka= a.angka+b.angka;
}

contoh penggabungan friend function dan operator overloading
#include
class data
{ private : int angka;
public :
data(){
angka=10;
}

int getangka(){
return angka;
}

friend void tes(data &a);
friend void operator -(data &a,data &b);
};

void tes(data &a){ cout<< a.angka;}

void operator - (data &a,data &b)
{ a.angka= a.angka+b.angka;}

void main(){
data obj1,obj2;
obj1-obj2;
cout << obj1.getangka();
cin.get();}

0 komentar:

Posting Komentar