Selasa, 28 Desember 2010

Konstruktor dan Destruktor


Konstruktor dan Destruktor

Konstruktor
Konstruktor adalah fungsi khusus anggota kelas yang otomatis dijalankan pada saat penciptaan objek (mendeklarasikan instance).
Konstruktor ditandai dengan namanya, yaitu sama dengan nama kelas. Konstruktor tidak mempunyai tipe hasil, bahkan juga bukan bertipe void.
Pada impelementasinya konstruktor sering digunakan untuk melakukan inisialisasi program seperti halnya membuka file, inisialisasi nilai member data,dll. Konstruktor boleh terdapat lebih dari satu.

Tiga jenis konstruktor:
o   Konstruktor default : tidak dapat meneriman argumen, anggota data diberi nilai awal tertentu.
o  Konstruktor penyalinan dengan parameter : anggota data diberi nilai awal berasal dari parameter.
o   Konstruktor penyalinan obyel lain : parameter berupa obyek lain, anggota data diberi nilai dari obyek lain.


Perhatikan contoh dibawah ini :
//Program Konstruktor
#include<stdio.h>
#include<iostream.h>
#include<conio.h>
class titik{
int x, y;
public:

titik(){ //konstruktordefaultt
x=0;
y=0;} // end

titik(int nx, int ny) {// konstruktor penyalinan
x=nx;
y=ny;} // end

titik(const titik& tt){ // konstruktor penyalinan objek
x=tt.x;
y=tt.y;}
int NX() { return x; } // fungsi anggota biasa
int NY() { return y; } // fungsi anggota biasa
};

void main(){
titik t1; // objek dg konstruktor default
titik t2(10, 20); // objek dg konstruktor penyalinan
titik t3(t2); // objek dg konstruktor penyalinan objek
cout<<”t1 = ”<< t1.NX() << “, “<<t1.NY()<<endl;
cout<<”t2 = ”<< t2.NX() << “, “<<t2.NY()<<endl;
cout<<”t3 = ”<< t3.NX() << “, “<<t3.NY()<<endl;
getch();} // akhir dari void main.

Hasil keluaran program:
t1 = 0,0
t2 = 10,20
t3 = 10,20

Objek t1 diciptakan dengan otomatis menjalankan konstruktor default.
Dengan demikian anggota data diberi nilai x=0, dan y = 0. Penciptaan objek t2 diikuti dengan menjalankan konstruktor kedua, mengakibatkan anggota data diberi nilai x=10 dan y=20. Terakhir, t3 diciptakan dengan menyalin objek dari t2, mengakibatkan pemberian nilai kepada anggota data sama dengan objek t2.


Destruktor

Destruktor adalah fungsi yang dijalankan pada sat obyek telah selesai digunakan atau program berakhir. Hanya saja, konsep ini tidak
sepenuhnya didukung oleh seluruh bahasa pemrograman berorientasi obyek seperti halnya konstruktor.
Sebagai contoh pada bahasa pemrograman Java tidak mengenal destruktor, melainkan garbage collector / gc.


Tidak ada komentar:

Posting Komentar