Sự khác biệt giữa Con Contortor và Destructor

Lớp học là cốt lõi của lập trình hướng đối tượng (OOP). Nó giống như một kế hoạch chi tiết để tạo các đối tượng cung cấp các giá trị ban đầu cho các biến thành viên và các hàm thành viên. Đó là khối xây dựng cơ bản của OOP xác định bản chất của một đối tượng trong tương lai. Điều quan trọng nhất về một lớp là nó định nghĩa một kiểu dữ liệu mới và một khi được định nghĩa, nó có thể được sử dụng để tạo các đối tượng của kiểu đó. Vì vậy, sẽ là đủ để nói rằng một lớp là một khuôn mẫu cho một đối tượng và trên thực tế một đối tượng là một thể hiện của một lớp. Nó được sử dụng để tạo và quản lý các đối tượng mới và hỗ trợ kế thừa, đây là một trong những khái niệm cốt lõi của các ngôn ngữ lập trình hướng đối tượng như Java. Nói tóm lại, một lớp tổ chức thông tin về một kiểu dữ liệu để sử dụng lại các phần tử khi tạo nhiều thể hiện của kiểu dữ liệu đó. Dữ liệu hoặc biến được định nghĩa trong một lớp được gọi là biến thể hiện.

Xây dựng là gì?

Hàm tạo là một hàm thành viên đặc biệt của một lớp được gọi khi thể hiện của một đối tượng được tạo. Đôi khi có thể khó để khởi tạo tất cả các biến trong một lớp mỗi khi một thể hiện được tạo. Vì yêu cầu khởi tạo là phổ biến trong lập trình hướng đối tượng, nó cho phép các đối tượng tự động khởi tạo khi chúng được tạo. Quá trình khởi tạo tự động này được thực hiện thông qua việc sử dụng một hàm tạo. Lý do tại sao nó được gọi là đặc biệt là vì phương thức cá thể thường có cùng tên với lớp. Nó khởi tạo một đối tượng ngay khi tạo và có thể được sử dụng để đặt giá trị của các thành viên của đối tượng. Một constructor tương tự về mặt cú pháp với một phương thức trong lập trình hướng đối tượng và một phương thức là một thủ tục được liên kết với một lớp và được bao gồm trong bất kỳ đối tượng nào của lớp đó. Nói tóm lại, một constructor được gọi mỗi khi một đối tượng của một lớp được tạo. Điều quan trọng nhất về các hàm tạo là chúng không có Kiểu trả về, thậm chí không có giá trị.

Máy hủy diệt là gì?

Một kẻ hủy diệt hoàn toàn là một khái niệm khác nhau; nó là một phương thức đặc biệt được gọi khi thể hiện của một lớp bị xóa khỏi bộ nhớ. Một hàm hủy được gọi tự động khi một đối tượng không còn cần thiết hoặc sắp biến mất hoặc được giải phóng rõ ràng. Mục đích chính của một hàm hủy là để loại bỏ các tài nguyên mà đối tượng đã sử dụng trong vòng đời của nó. Nó cung cấp cho đối tượng cơ hội cuối cùng để giải phóng bất kỳ bộ nhớ nào được phân bổ để có đủ không gian trên heap để lưu trữ các đối tượng mới để chạy các chương trình một cách hiệu quả. Các hàm hủy thường được sử dụng cùng với các hàm tạo, ngoại trừ chúng được sử dụng để phá hủy các đối tượng được tạo bằng các hàm tạo. Ý tưởng là để khởi tạo lại các đối tượng khi chúng bị xóa để giải phóng bộ nhớ cho các đối tượng mới. Giống như các hàm tạo, các hàm hủy được định nghĩa là các chương trình con trong định nghĩa lớp và chúng có cùng tên với tên lớp, ngoại trừ một hàm hủy có tiền tố là một ~ (dấu ngã) toán tử. Các hàm hủy được gọi rõ ràng trong C ++, tuy nhiên, không có hàm hủy trong Java.

Sự khác biệt giữa Con Contor và Destructor

Mục đích của Con Contortor và Destructor

Cả hàm tạo và hàm hủy là các hàm thành viên đặc biệt của mỗi lớp nhưng với các khái niệm khác nhau. Hàm xây dựng được sử dụng để khởi tạo thể hiện của một lớp, nghĩa là nó được gọi mỗi khi một lớp được khởi tạo, trong khi đó một hàm hủy đối diện với một hàm tạo được gọi theo thứ tự ngược lại của các hàm tạo.

Cấp phát bộ nhớ

Một constructor được gọi mỗi khi một thể hiện mới của một lớp được tạo. Về cơ bản, nó là một hàm thành viên của một lớp khởi tạo một đối tượng ngay khi tạo và phân bổ bộ nhớ cho nó. Mặt khác, một hàm hủy được gọi khi thể hiện của một lớp bị xóa khỏi bộ nhớ, từ đó khởi tạo lại các đối tượng được tạo bằng cách sử dụng các hàm tạo để giải phóng bộ nhớ cho các đối tượng mới.

Tên

Cả hàm tạo và hàm hủy đều là các hàm thành viên đặc biệt của một lớp có cùng tên với tên lớp, ngoại trừ một hàm hủy có tiền tố là toán tử ~ (dấu ngã). Hàm tạo không là gì ngoài một phương thức không có Kiểu trả về, thậm chí không có giá trị, trong khi các hàm hủy hoàn toàn ngược lại với các hàm tạo.

Quá tải

Cả hàm tạo và hàm hủy được gọi tự động sau khi tạo và xóa. Tuy nhiên, không giống như các nhà xây dựng, các hàm hủy không thể bị quá tải. Quá tải là một khái niệm lập trình hướng đối tượng cho phép bạn xác định hai hoặc nhiều hàm có cùng tên để bạn có thể gọi chúng với các danh sách đối số khác nhau.

Tranh luận

Trong lập trình hướng đối tượng, các hàm tạo thường chấp nhận các đối số mà chúng sử dụng để đặt các biến thành viên cần thiết, trong khi các hàm hủy không chấp nhận bất kỳ đối số nào.

Làm việc của Con Contortor và Destructor

Các nhà xây dựng cho phép đối tượng khởi tạo một số giá trị của nó trước khi nó được sử dụng, trong khi các hàm hủy cho phép đối tượng thực thi một phần mã tại thời điểm nó bị phá hủy.

 Con constructor Verses Destructor: Biểu đồ so sánh

Tóm tắt về Xây dựng Vs. Phá hủy

Cả hai hàm tạo và hàm hủy đều là các hàm thành viên đặc biệt của một lớp có cùng tên với tên lớp, ngoại trừ các hàm hủy được đi trước bởi một toán tử ~ tilde. Một constructor không là gì ngoài một phương thức ngoại trừ nó được gọi khi thể hiện của một đối tượng được tạo ra, trong khi đó một hàm hủy hoàn toàn ngược lại với các constructor được gọi khi thể hiện của một đối tượng bị xóa khỏi bộ nhớ. Mục đích của các hàm hủy là để khởi tạo lại các đối tượng được tạo bằng các hàm tạo để giải phóng không gian bộ nhớ để chứa các đối tượng mới.