Class Member Access Control Public: Bagian class yang dapat diakses secara umum baik dari dalam maupun dari luar class. Protected: Bagian class yang dapat diakses oleh lingkungan internal class dan class turunannya Private: (Default) Bagian class yang hanya dapat diakses oleh lingkungan internal class itu sendiri Pemrograman Berorientasi Obyek
Pemrograman Berorientasi Obyek Constructor Fungsi spesial dalam class yang selalu dijalankan saat sebuah object di-create. Dapat di overloading. Default Constructor Jika tidak didefinisian sama sekali -> secara otomatis ditambahkan. Jika pernah didefinisian -> tidak secara otomatis ditambahkan. Pemrograman Berorientasi Obyek
Pemrograman Berorientasi Obyek Example class monster{ public: int postionx, postiony; int level, skill; monster() {}; monster(int px, int py) { … }; monster(int plvl) { … }; ~monster(){ … } }; Default Constructor Constructor Destructor Pemrograman Berorientasi Obyek
Pemrograman Berorientasi Obyek Constructor Adding a Constructor class monster{ public: int postionx, postiony; int level, skill; monster(int plvl) { … }; }; Pemrograman Berorientasi Obyek
Pemrograman Berorientasi Obyek Constructor Assigning Default Values in a Constructor class monster{ public: int postionx, postiony; int level, skill; monster(int plvl = 3) { level = plvl }; }; Pemrograman Berorientasi Obyek
Pemrograman Berorientasi Obyek Constructor Using an Initialization List in a Constructor class monster{ public: int posx, posy; int level, skill; monster(int plvl, int px, int py): level(plvl) , posx(px) , posy(py) { … }; }; Pemrograman Berorientasi Obyek
Pemrograman Berorientasi Obyek Constructor Copy Constructor The default version of the copy constructor creates the new object by copying the existing object, member by member In this case, the compiler generates a default version of what is referred to as a copy constructor Pemrograman Berorientasi Obyek
Pemrograman Berorientasi Obyek Constructor Copy Constructor class monster{ public: ... monster(monster pm){ ... }; ... }; void main(){ monster Mon1; monster Mon2(Mon1); } Pemrograman Berorientasi Obyek
Pemrograman Berorientasi Obyek Destructor Fungsi spesial dalam class yang selalu dijalankan saat sebuah object di-release dari memory (saat akhir program, akhir scope, fungsi delete). Tidak dapat di overloading. (Hanya boleh ada 1) Default Destructor Jika tidak didefinisian sama sekali -> secara otomatis ditambahkan. Pemrograman Berorientasi Obyek
Pemrograman Berorientasi Obyek Static Data Member Pemrograman Berorientasi Obyek
Pemrograman Berorientasi Obyek Static Data Member Varibel yang memiliki nilai sama untuk semua object dari suatu class. Harus ada inisialisasi yang ditulis di luar class. Pemrograman Berorientasi Obyek
Pemrograman Berorientasi Obyek Static Data Example Static data member class monster{ public: ... static int counter; }; int monster::counter=555; Initialization Pemrograman Berorientasi Obyek
Constant in Class (Read Only) #include <iostream.h> class monster{ public: const int maxlevel; void hit(const int damage){ … }; }; Constant Member Constant Parameter Pemrograman Berorientasi Obyek