Skip to main content

Hàm tạo mặc định là gì?

Một hàm tạo mặc định là một phương thức chuyên dụng tạo và khởi tạo một đối tượng trong lập trình hướng đối tượng.Có nhiều loại cấu trúc, nhưng một hàm tạo mặc định phải đáp ứng một trong hai tiêu chí cụ thể, ngoài việc tạo và khởi tạo một đối tượng.Nó phải không có tham số, trong trường hợp đó, nó cũng có thể được gọi là hàm tạo Nullary hoặc nó phải gán các giá trị mặc định cho tất cả các tham số mà nó có khả năng đặt.Một số ngôn ngữ máy tính ngầm chỉ định một hàm tạo nullary mặc định nếu lập trình viên hoàn toàn không chỉ định hàm tạo.Khi bất kỳ loại cấu trúc nào được viết, hàm tạo nullary mặc định không còn được chỉ định và phải được viết rõ ràng nếu cần. Đối với các ngôn ngữ máy tính cho phép kế thừa hướng đối tượng, các hàm tạo mặc định trong các lớp con phải được kết nối chính xác với các chất xây dựng trong các siêu lớp.Các hàm tạo lớp luôn luôn phải gọi các hàm tạo siêu lớp trước khi làm bất cứ điều gì cụ thể cho lớp con.Trong một số ngôn ngữ, như Java reg ;, một hàm tạo lớp con ngầm gọi là một hàm tạo nullary mặc định siêu lớp.Nếu một hàm tạo nullary mặc định siêu lớp không tồn tại, đối tượng lớp con không thể được xây dựng đúng cách.Các lớp con vẫn có thể có một trong hai loại hàm tạo mặc định trong trường hợp này, nhưng một hàm tạo siêu lớp có sẵn phải được gọi chính xác, có lẽ bằng cách truyền các giá trị mặc định duy nhất cho lớp con.Số phương thức mà một lập trình viên phải chỉ định và tài liệu, nhưng cũng có nhược điểm là có thể làm cho việc bảo trì và hiểu mã trở nên khó khăn hơn.Một số lập trình viên coi thiếu sót của một hàm tạo mặc định là thực tiễn xấu, trong khi những người khác thì không.Không có gì ngăn cản một lập trình viên cá nhân tuân thủ một trong hai phương thức lập trình này, do đó, bao gồm một hàm tạo nullary mặc định trong mã phần lớn là một lựa chọn phong cách về phía người lập trình.Nếu bao gồm hàm tạo, hầu hết các trường phái tư tưởng chỉ ra rằng nó nên được bình luận và ghi lại giống như bất kỳ hàm tạo hoặc phương pháp nào khác..Điều này cung cấp cho các khả năng cụ thể của hàm tạo dựa trên lớp mà nó được chỉ định.Một hàm tạo mặc định công khai có thể được sử dụng để tạo một đối tượng mới từ một lớp khác, trong khi một hàm tạo được bảo vệ chỉ có thể được gọi từ lớp của chính nó và bất kỳ lớp con nào.Các hàm tạo mặc định được bảo vệ thường được nhìn thấy trong một hệ thống phân cấp kế thừa.Các hàm tạo riêng thường chỉ được sử dụng trong các lớp khép kín, trong đó một số loại phương thức nhà máy có sẵn để gọi nó, thay vì lập trình viên.