Mục lục:
Định nghĩa - Destructor có nghĩa là gì?
Hàm hủy là một phương thức đặc biệt được gọi tự động trong quá trình phá hủy một đối tượng. Các hành động được thực hiện trong hàm hủy bao gồm:
- Khôi phục không gian heap được phân bổ trong suốt vòng đời của một đối tượng
- Đóng kết nối tệp hoặc cơ sở dữ liệu
- Phát hành tài nguyên mạng
- Phát hành khóa tài nguyên
- Nhiệm vụ vệ sinh khác
Techopedia giải thích Destructor
Các cấu trúc hủy được gọi rõ ràng trong C ++. Tuy nhiên, trong C # và Java thì không phải như vậy, vì việc cấp phát và giải phóng bộ nhớ được phân bổ cho các đối tượng được xử lý ngầm bởi trình thu gom rác. Trong khi các hàm hủy trong C # và Java (được gọi là bộ hoàn thiện) là không xác định, thì các hàm hủy C # được đảm bảo được gọi theo thời gian chạy .NET. Tuy nhiên, các trình hoàn thiện Java phải được gọi một cách rõ ràng vì yêu cầu của chúng không được đảm bảo.
Các thuộc tính chính của hàm hủy có thể được tóm tắt như sau:
- Gọi tự động và không có cuộc gọi rõ ràng từ mã người dùng
- Quá tải hoặc thừa kế không được phép
- Sửa đổi truy cập hoặc tham số không được chỉ định
- Thứ tự của lệnh gọi tới hàm hủy trong một lớp dẫn xuất là từ dẫn xuất nhiều nhất đến dẫn xuất ít nhất
- Được gọi không chỉ trong quá trình hủy đối tượng, mà cả khi đối tượng không còn đủ điều kiện để truy cập
- Được sử dụng trong các lớp học nhưng không cấu trúc
- Chỉ được sử dụng để giải phóng các tài nguyên không được quản lý đắt tiền (như cửa sổ, kết nối mạng, v.v.) mà đối tượng nắm giữ, thay vì để phát hành các tài liệu tham khảo được quản lý