Destructor merupakan salah satu jenis khusus anggota kelas fungsi yang dijalankan ketika sebuah objek dari kelas yang hancur.
Mereka adalah mitra untuk konstruktor. Ketika suatu variabel pergi ke luar lingkup, atau variabel yang dialokasikan secara dinamis dihapus secara eksplisit menggunakan kata kunci menghapus, kelas destructor disebut (jika ada) untuk membantu membersihkan kelas sebelum tersebut akan dihapus dari memori. Untuk kelas sederhana, sebuah destructor tidak diperlukan karena C + + akan secara otomatis membersihkan memori untuk Anda. Namun, jika Anda memiliki memori yang dialokasikan secara dinamis, atau jika Anda perlu melakukan semacam kelas pemeliharaan sebelum dihancurkan (misalnya menutup file), yang destructor adalah tempat yang tepat untuk melakukannya.
Penulisan fungsi destructor hampir sama dengan constructor hanya saja di awalnya dituliskan karakter cacing (~). Yang beda dari destructor adalah tidak adanya parameter / argument di dalam header fungsinya.
Contoh :
class alpha
{ public:
alpha()
{ count++;
cout << “\nno. of object created“ << count;
}
~alpha()
{ cout << “\nno. of object destroyed” << count;
count--;
}};
void main()
{ cout << “\nEnter MAIN\n\n”;
alpha a1, a2, a3, a4;
{ cout << “\nEnter Blok 1\n”;
alpha a5;
}
{ cout << “\nEnter Blok 2\n”;
alpha a6;
}}ya.
OVERLOADING
Overloading merupakan salah satu sifat dari Polimorphism yang mempunyai ciri memiliki nama yang sama tetapi berbeda fungsi. Dalam hal ini bila suatu class mempunyai suatu method tertentu, kemudian kita bisa mendefinisikan method tersebut dengan menambahkan suatu parameter lain tetapi tetap memiliki nama yang sama, itu yang disebut dengan Overloading.
Kita lihat contohnya saja yuk,
public class Mobil extends Kendaraan{
//melakukan overloading
void jenisKendaraan(String JK, String Tipe){
System.out.println(”Jenis Kendaraan: “+JK+” dengan tipe “+Tipe);
}
}
class Kendaraan{
String jenisKendaraan;
int tahunBuat;
//method jenisKendaraan
void jenisKendaraan(String JK){
jenisKendaraan = JK;
System.out.println(”Jenis Kendaraan: “+jenisKendaraan);
}
//method tahunBuat
void tahunBuat(int TB){
tahunBuat = TB;
System.out.println(”Tahun Buat: “+tahunBuat);
}
}
Kemudian kita gunakan class berikut:
class MobilAksi{
public static void main(String[] args){
//buat object
Mobil mobilku = new Mobil();
//panggil method
mobilku.jenisKendaraan(”Kijang Inova”);
mobilku.jenisKendaraan(”Ferari”, “Sport”);
}
}
Jalankan tuh file MobilAksi.java untuk melihat dimana Overloadingnya
Coba lihat tuh di class Mobil, kita lihat overloadingnya kita kan tadi menambahkan satu parameter lagi untuk tipe, kita tahu di class Kendaraan hanya ada 1 parameter pada method jenisKendaraan bukan? coba cek lagi lebih teliti. Sedangkan pada class Mobil, kita buat lagi method yang sama jenisKendaraan tapi dengan menambahkan 1 parameter lagi sehingga pada method jenisKendaraan di class Mobil sudah menggunakan 2 parameter pada method jenisKendaraan.
Kalo sudah menjalankan class MobilAksi kan terlihat tuh.
Sekian dulu dari saya...ane mau cao dulu...wassalam....
Tidak ada komentar:
Posting Komentar