Perbedaan antara konstruktor dan destruktor

Perbedaan antara konstruktor dan destruktor

Kelas adalah inti dari pemrograman berorientasi objek (OOP). Ini seperti cetak biru untuk membuat objek yang menyediakan nilai awal untuk variabel anggota dan fungsi anggota. Ini adalah blok bangunan dasar OOP yang mendefinisikan sifat objek masa depan. Hal terpenting tentang suatu kelas adalah mendefinisikan tipe data baru dan sekali ditentukan, itu dapat digunakan untuk membuat objek dari jenis itu. Jadi sudah cukup untuk mengatakan kelas adalah templat untuk suatu objek, dan objek sebenarnya adalah instance dari suatu kelas. Ini digunakan untuk membuat dan mengelola objek baru dan mendukung warisan, yang merupakan salah satu konsep inti dari bahasa pemrograman yang berorientasi objek seperti Java. Singkatnya, kelas mengatur informasi tentang tipe data untuk menggunakan kembali elemen saat membuat banyak contoh tipe data itu. Data atau variabel yang ditentukan dalam kelas disebut variabel instance.

Apa itu konstruktor?

Konstruktor adalah fungsi anggota khusus dari kelas yang disebut ketika instance suatu objek dibuat. Kadang -kadang bisa sulit untuk menginisialisasi semua variabel di kelas setiap kali contoh dibuat. Karena persyaratan untuk inisialisasi adalah umum dalam pemrograman yang berorientasi objek, ini memungkinkan objek untuk menginisialisasi secara otomatis saat dibuat. Proses inisialisasi otomatis ini dilakukan melalui penggunaan konstruktor. Alasan mengapa itu disebut khusus adalah karena metode instan biasanya memiliki nama yang sama dengan kelas. Ini menginisialisasi suatu objek segera setelah pembuatan dan dapat digunakan untuk mengatur nilai -nilai anggota suatu objek. Konstruktor secara sintaksis mirip dengan metode dalam pemrograman yang berorientasi objek dan metode adalah prosedur yang terkait dengan kelas dan termasuk dalam objek apa pun dari kelas itu. Singkatnya, konstruktor dipanggil setiap kali objek kelas dibuat. Hal terpenting tentang konstruktor adalah bahwa mereka tidak memiliki tipe pengembalian, bahkan tidak batal.

Apa itu destruktor?

Seorang destruktor sepenuhnya merupakan konsep yang berbeda; Ini adalah metode khusus yang disebut ketika contoh kelas dihapus dari memori. Seorang destruktor dipanggil secara otomatis ketika suatu objek tidak lagi diperlukan atau akan menghilang atau dirilis secara eksplisit. Tujuan utama seorang destruktor adalah untuk menyingkirkan sumber daya yang digunakan objek selama siklus hidupnya. Ini memberi objek kesempatan terakhir untuk membebaskan memori apa pun yang dialokasikan sehingga akan ada cukup ruang pada tumpukan untuk menyimpan objek baru untuk menjalankan program secara efisien. Destruktor sering digunakan bersama dengan konstruktor, kecuali mereka digunakan untuk menghancurkan objek yang dibuat menggunakan konstruktor. Idenya adalah untuk tidak memulai objek ketika mereka dihapus untuk membebaskan memori untuk objek baru. Seperti konstruktor, destruktor didefinisikan sebagai subrutin dalam definisi kelas dan mereka memiliki nama yang sama dengan nama kelas, kecuali destruktor diawali dengan a ~ Operator (Tilde). Destruktor disebut secara eksplisit di C ++, namun, tidak ada destruktor di Java.

Perbedaan antara konstruktor dan destruktor

Tujuan konstruktor dan destruktor

Baik konstruktor dan destruktor adalah fungsi anggota khusus dari setiap kelas tetapi dengan konsep yang berbeda. Konstruktor digunakan untuk menginisialisasi instance dari suatu kelas, artinya dipanggil setiap kali kelas dipakai, sedangkan destruktor adalah kebalikan dari konstruktor yang disebut dalam urutan terbalik konstruktor.

Alokasi memori

Konstruktor disebut setiap kali contoh baru dari suatu kelas dibuat. Ini pada dasarnya adalah fungsi anggota kelas yang menginisialisasi objek segera setelah pembuatan dan mengalokasikan memori untuk itu. Seorang destruktor, di sisi lain, dipanggil ketika contoh kelas dihapus dari memori yang pada gilirannya de-inisialisasi objek yang dibuat menggunakan konstruktor untuk membebaskan memori untuk objek baru.

Nama

Baik konstruktor dan destruktor adalah fungsi anggota khusus dari kelas dengan nama yang sama dengan nama kelas, kecuali destruktor diawali dengan operator ~ (Tilde). Konstruktor tidak lain adalah metode yang tidak memiliki tipe pengembalian, bahkan tidak batal, sedangkan destruktor persis kebalikan dari konstruktor.

Kelebihan beban

Konstruktor dan destruktor disebut secara otomatis setelah pembuatan dan penghapusan. Namun, tidak seperti konstruktor, destruktor tidak dapat kelebihan beban. Overloading adalah konsep pemrograman berorientasi objek yang memungkinkan Anda untuk mendefinisikan dua atau lebih fungsi dengan nama yang sama sehingga Anda dapat memanggilnya dengan daftar argumen yang berbeda.

Argumen

Dalam pemrograman berorientasi objek, konstruktor sering menerima argumen yang mereka gunakan untuk menetapkan variabel anggota yang diperlukan, sedangkan destruktor tidak menerima argumen apa pun.

Bekerja konstruktor dan destruktor

Konstruktor memungkinkan objek untuk menginisialisasi sebagian nilainya sebelum digunakan, sedangkan destruktor memungkinkan objek untuk menjalankan sebagian dari kode pada saat itu dihancurkan.

 Constructor Verses Destructor: Bagan Perbandingan

Ringkasan Konstruktor VS. Destruktor

Baik konstruktor dan destruktor adalah fungsi anggota khusus dari suatu kelas dengan nama yang sama dengan nama kelas, kecuali destruktor didahului oleh operator ~ tilde. Konstruktor tidak lain adalah metode kecuali disebut ketika contoh objek dibuat, sedangkan destruktor persis kebalikan dari konstruktor yang disebut ketika contoh objek dihapus dari memori. Tujuan dari destruktor adalah untuk tidak memulai objek yang dibuat menggunakan konstruktor untuk membebaskan ruang memori untuk mengakomodasi objek baru.