Perbezaan antara pembina dan pemusnah

Perbezaan antara pembina dan pemusnah

Kelas adalah teras pengaturcaraan berorientasikan objek (OOP). Ia seperti cetak biru untuk membuat objek yang memberikan nilai awal untuk pembolehubah ahli dan fungsi ahli. Ini adalah blok bangunan asas OOP yang mentakrifkan sifat objek masa depan. Perkara yang paling penting mengenai kelas adalah bahawa ia mentakrifkan jenis data baru dan sekali ditakrifkan, ia boleh digunakan untuk membuat objek jenis itu. Oleh itu, sudah cukup untuk mengatakan kelas adalah templat untuk objek, dan objek sebenarnya adalah contoh kelas. Ia digunakan untuk membuat dan menguruskan objek baru dan warisan sokongan, yang merupakan salah satu konsep teras bahasa pengaturcaraan berorientasikan objek seperti Java. Singkatnya, kelas menganjurkan maklumat mengenai jenis data untuk menggunakan semula unsur -unsur apabila membuat pelbagai contoh jenis data tersebut. Data atau pembolehubah yang ditakrifkan dalam kelas dipanggil pembolehubah contoh.

Apa itu pembina?

Pembina adalah fungsi ahli khas kelas yang dipanggil apabila contoh objek dibuat. Ia boleh menjadi sukar untuk memulakan semua pembolehubah dalam kelas setiap kali suatu contoh dibuat. Memandangkan keperluan untuk permulaan adalah perkara biasa dalam pengaturcaraan berorientasikan objek, ia membolehkan objek untuk memulakan secara automatik apabila ia dicipta. Proses permulaan automatik ini dilakukan melalui penggunaan pembina. Sebab mengapa ia dipanggil istimewa adalah kerana kaedah contoh biasanya mempunyai nama yang sama dengan kelas. Ia memulakan objek sebaik sahaja penciptaan dan boleh digunakan untuk menetapkan nilai ahli objek. Pembina secara sintaktik serupa dengan kaedah dalam pengaturcaraan berorientasikan objek dan kaedah adalah prosedur yang berkaitan dengan kelas dan dimasukkan ke dalam mana-mana objek kelas itu. Singkatnya, pembina dipanggil setiap kali objek kelas dibuat. Perkara yang paling penting mengenai pembina adalah bahawa mereka tidak mempunyai jenis pulangan, bahkan tidak sah.

Apa itu pemusnah?

Destructor adalah konsep yang berbeza; Ini kaedah khas yang dipanggil apabila contoh kelas dipadam dari ingatan. Destructor dipanggil secara automatik apabila objek tidak lagi diperlukan atau akan hilang atau dibebaskan secara eksplisit. Tujuan utama pemusnah adalah untuk menyingkirkan sumber -sumber objek yang digunakan semasa kitaran hayatnya. Ia memberikan objek peluang terakhir untuk membebaskan memori yang diperuntukkan sehingga akan ada ruang yang cukup pada timbunan untuk menyimpan objek baru untuk menjalankan program dengan cekap. Destructors sering digunakan bersamaan dengan pembina, kecuali ia digunakan untuk memusnahkan objek yang dicipta menggunakan pembina. Idea ini adalah untuk menghidupkan objek apabila mereka dipadam untuk membebaskan memori untuk objek baru. Seperti pembina, pemusnah ditakrifkan sebagai subrutin dalam definisi kelas dan mereka mempunyai nama yang sama dengan nama kelas, kecuali pemusnah yang diawali dengan a ~ (tilde) operator. Destructors dipanggil secara eksplisit di C ++, bagaimanapun, tidak ada pemusnah di Java.

Perbezaan antara pembina dan pemusnah

Tujuan pembina dan pemusnah

Kedua -dua pembina dan pemusnah adalah fungsi ahli khas setiap kelas tetapi dengan konsep yang berbeza. Pembina digunakan untuk memulakan contoh kelas, yang bermaksud ia dipanggil setiap kali kelas ditimbulkan, sedangkan pemusnah adalah bertentangan dengan pembina yang dipanggil dalam urutan terbalik pembina.

Peruntukan memori

Pembina dipanggil setiap kali contoh baru kelas dibuat. Pada dasarnya adalah fungsi ahli kelas yang memulakan objek dengan segera setelah penciptaan dan memperuntukkan memori kepadanya. Destructor, sebaliknya, dipanggil apabila contoh kelas dipadam dari ingatan yang secara bergilir-gilir de-initializes objek yang dibuat menggunakan pembina untuk membebaskan memori untuk objek baru.

Nama

Kedua -dua pembina dan pemusnah adalah fungsi ahli khas kelas dengan nama yang sama dengan nama kelas, kecuali pemusnah yang diawali dengan pengendali ~ (tilde). Pembina tidak lain hanyalah kaedah yang tidak mempunyai jenis pulangan, bahkan tidak sah, sedangkan pemusnah adalah persis dari pembina.

Terlalu banyak

Kedua -dua pembina dan pemusnah dipanggil secara automatik selepas penciptaan dan penghapusan. Walau bagaimanapun, tidak seperti pembina, pemusnah tidak boleh dibebankan. Overloading adalah konsep pengaturcaraan berorientasikan objek yang membolehkan anda menentukan dua atau lebih fungsi dengan nama yang sama supaya anda dapat memanggilnya dengan senarai argumen yang berbeza.

Hujah

Dalam pengaturcaraan berorientasikan objek, pembina sering menerima argumen yang mereka gunakan untuk menetapkan pembolehubah ahli yang diperlukan, sedangkan pemusnah tidak menerima sebarang argumen.

Bekerja pembina dan pemusnah

Pembina membenarkan objek untuk memulakan beberapa nilainya sebelum ia digunakan, sedangkan pemusnah membenarkan objek untuk melaksanakan beberapa bahagian kod pada masa ia dimusnahkan.

 Pembina Ayat Destructor: Carta Perbandingan

Ringkasan Pembina vs. Destructor

Kedua -dua pembina dan pemusnah adalah fungsi ahli khas kelas dengan nama yang sama dengan nama kelas, kecuali pemusnah didahului oleh pengendali ~ tilde. Pembina tidak lain hanyalah satu kaedah kecuali ia dipanggil apabila contoh objek dibuat, sedangkan pemusnah adalah persis sebaliknya pembina yang dipanggil apabila contoh objek dipadamkan dari ingatan. Tujuan pemusnah adalah untuk menghidupkan objek yang dibuat menggunakan pembina untuk membebaskan ruang ingatan untuk menampung objek baru.