Có bất kỳ mục đích để khai báo một init()
phương thức cho một loại?
Tôi không hỏi liệu chúng ta nên ưu tiên init()
hơn một nhà xây dựng hay làm thế nào để tránh khai báoinit()
.
Tôi đang hỏi liệu có bất kỳ lý do nào đằng sau việc khai báo một init()
phương thức (xem mức độ phổ biến của nó) hoặc nếu đó là một mùi mã và nên tránh.
Thành init()
ngữ này khá phổ biến, nhưng tôi chưa thấy lợi ích thực sự nào.
Tôi đang nói về các loại khuyến khích khởi tạo thông qua một phương thức:
class Demo {
public void init() {
//...
}
}
Khi nào thì cái này sẽ được sử dụng trong mã sản xuất?
Tôi cảm thấy nó có thể là một mùi mã vì nó cho thấy hàm tạo không khởi tạo hoàn toàn đối tượng, dẫn đến một đối tượng được tạo một phần. Đối tượng không nên tồn tại nếu trạng thái không được đặt.
Điều này khiến tôi tin rằng nó có thể là một phần của một số loại kỹ thuật được sử dụng để tăng tốc độ sản xuất, theo nghĩa các ứng dụng doanh nghiệp. Đó là lý do hợp lý duy nhất tôi có thể nghĩ đến khi có một thành ngữ như vậy, tôi chỉ không chắc nó sẽ có ích như thế nào nếu như vậy.
init()
Trên lớp được thừa kế, hoặc ngược lại?) Nếu vậy, nó là một ví dụ để cho lớp cơ sở thực hiện một "hậu constructor "Chỉ có thể được thực thi sau khi lớp dẫn xuất nhất đã hoàn thành xây dựng. Đây là một ví dụ về khởi tạo nhiều pha.