Hầu hết các ngôn ngữ lập trình đều hỗ trợ Lập trình hướng đối tượng (OOP). Đây là mô hình giúp mô hình hóa một phần mềm hoặc chương trình bằng cách sử dụng các đối tượng. OOP cải thiện năng suất và khả năng bảo trì. Trong OOP mọi thứ được coi là một đối tượng. Các đối tượng được tạo hoặc khởi tạo bằng các lớp. Con constructor và Destructor là các thuật ngữ phổ biến trong Lập trình hướng đối tượng. Bài viết này thảo luận về sự khác biệt giữa một hàm tạo và hàm hủy. Hàm tạo và hàm hủy là hàm thành viên đặc biệt trong một lớp. Hàm tạo và hàm hủy có cùng tên với lớp, nhưng hàm hủy có dấu ngã (~). Các sự khác biệt chính giữa một hàm tạo và hàm hủy là một constructor được sử dụng để phân bổ bộ nhớ cho một đối tượng trong khi hàm hủy được sử dụng để giải phóng bộ nhớ của đối tượng.
1. Tổng quan và sự khác biệt chính
2. Xây dựng là gì
3. Tiêu hủy là gì
4. Điểm tương đồng giữa Con Contor và Destructor
5. So sánh cạnh nhau - Con constructor vs Destructor ở dạng bảng
6. Tóm tắt
Hàm tạo là một hàm thành viên đặc biệt trong lớp để phân bổ bộ nhớ cho một đối tượng. Nó có thể được sử dụng để cung cấp các giá trị cho các thành viên dữ liệu. Hàm tạo được gọi khi đối tượng được tạo. Nó có cùng tên với tên lớp. Một constructor không trả về bất kỳ giá trị nào. Do đó, nó không chứa kiểu trả về. Một constructor cũng có thể chấp nhận các tham số. Hàm tạo có tham số được gọi là hàm tạo tham số.
Một ví dụ về hàm tạo như sau.
Hình chữ nhật lớp công cộng
int chiều dài, chiều rộng;
hình chữ nhật công khai (int p, int q)
chiều dài = p;
chiều rộng = q;
công khai int tínhArea ()
trả về (chiều dài * chiều rộng);
Theo đoạn mã trên, hàm tạo có cùng tên với tên lớp. Hình chữ nhật constructor chấp nhận hai tham số. Chúng là p và q. Giá trị nguyên p được gán cho chiều dài. Giá trị nguyên q được gán cho chiều rộng. Trong calcualteArea, phép nhân chiều dài và chiều rộng được tính để tìm diện tích của hình chữ nhật. Trong chương trình chính, lập trình viên có thể tạo một đối tượng kiểu Hình chữ nhật và truyền các đối số. ví dụ. Hình chữ nhật orth1 = hình chữ nhật mới (2,3). Sau đó, hàm tạo được tham số hóa được gọi và gán các giá trị cho chiều dài và chiều rộng.
Hình 01: Con constructor và Destructor
Khi có một hàm tạo mà không có bất kỳ tham số nào, nó được gọi là hàm tạo mặc định. Nếu lập trình viên không xác định hàm tạo, hàm tạo mặc định sẽ được gọi. Nếu có một lớp là Student và khi lập trình viên tạo một đối tượng kiểu Student, thì hàm tạo mặc định được gọi. ví dụ. Sinh viên s1 = Sinh viên mới (); Có thể có nhiều hàm tạo với các tham số khác nhau và các kiểu dữ liệu khác nhau trong một lớp. Các constructor thích hợp có thể được gọi là phù hợp. Do đó, các nhà xây dựng có thể bị quá tải.
Hàm hủy là một hàm thành viên đặc biệt trong lớp. Nó được sử dụng để phân bổ bộ nhớ cho một đối tượng được tạo bởi hàm tạo. Hàm hủy được gọi khi đối tượng bị phá hủy. Nó thực hiện lưu trữ dọn dẹp không còn cần thiết. Giống như hàm tạo, hàm hủy có cùng tên với lớp. Nó cũng chứa biểu tượng dấu ngã (~).
Một hàm hủy không trả về bất kỳ giá trị nào. Không giống như một constructor, hàm hủy không chấp nhận bất kỳ tham số nào. Vì vậy, hàm hủy không hỗ trợ quá tải. Khai báo một hàm hủy được coi là một thực hành lập trình tốt vì nó giải phóng không gian bộ nhớ và không gian đó có thể được sử dụng để lưu trữ một số đối tượng khác. Cú pháp của hàm hủy tương tự như ~ className () . ví dụ. ~ Hình chữ nhật () ; Chỉ có thể có một hàm hủy duy nhất trong một lớp.
Con Contor vs Destructor | |
Hàm tạo là một thành viên đặc biệt trong lớp được sử dụng để phân bổ bộ nhớ cho một đối tượng. | Hàm hủy là một thành viên đặc biệt của lớp được sử dụng để giải phóng bộ nhớ của đối tượng. |
Phương thức gọi | |
Một constructor được gọi khi đối tượng được tạo. | Một hàm hủy được gọi khi đối tượng bị hủy hoặc bị xóa. |
Sử dụng | |
Một constructor được sử dụng để cấp phát bộ nhớ cho các đối tượng. | Một hàm hủy được sử dụng để giải phóng bộ nhớ cho các đối tượng. |
Thông số | |
Một constructor chấp nhận các tham số. | Một hàm hủy không chấp nhận tham số. |
Số lượng nhà xây dựng và phá hủy | |
Có thể có nhiều hàm tạo với số lượng tham số khác nhau và các loại tham số khác nhau. | Có thể có một hàm hủy trong lớp. |
Tốc độ thực hiện | |
Một constructor có cùng tên với tên lớp. | Một hàm hủy có cùng tên với tên lớp có ký hiệu dấu ngã (~). |
Quá tải | |
Một constructor có thể bị quá tải. | Một hàm hủy không thể bị quá tải. |
OOP là một mô hình phổ biến trong phát triển phần mềm. Nó có thể đơn giản hóa một dự án phức tạp. Hàm tạo và hàm hủy được sử dụng trong OOP. Hàm tạo và hàm hủy có cùng tên với lớp, nhưng hàm hủy có dấu ~. Sự khác biệt giữa hàm tạo và hàm hủy là hàm tạo được sử dụng để cấp phát bộ nhớ cho đối tượng trong khi hàm hủy được sử dụng để giải phóng bộ nhớ của đối tượng.
Bạn có thể tải xuống phiên bản PDF của bài viết này và sử dụng nó cho mục đích ngoại tuyến theo ghi chú trích dẫn. Vui lòng tải xuống phiên bản PDF tại đây: Sự khác biệt giữa Người xây dựng và Người hủy diệt
1.tutorialspoint.com. Đối tượng và các lớp Java Java. Điểm, Có sẵn ở đây