Tôi đã thấy cuộc thảo luận về câu hỏi này liên quan đến việc một lớp thực hiện từ một giao diện sẽ được khởi tạo như thế nào. Trong trường hợp của tôi, tôi đang viết một chương trình rất nhỏ bằng Java sử dụng một cá thể TreeMap
và theo ý kiến của mọi người ở đó, nó nên được khởi tạo như sau:
Map<X> map = new TreeMap<X>();
Trong chương trình của tôi, tôi đang gọi hàm map.pollFirstEntry()
, không được khai báo trong Map
giao diện (và một vài người khác cũng có mặt trong Map
giao diện). Tôi đã quản lý để làm điều này bằng cách truyền tới TreeMap<X>
mọi nơi tôi gọi phương thức này như:
someEntry = ((TreeMap<X>) map).pollFirstEntry();
Tôi hiểu các ưu điểm của hướng dẫn khởi tạo như được mô tả ở trên đối với các chương trình lớn, tuy nhiên đối với một chương trình rất nhỏ mà đối tượng này sẽ không được chuyển sang các phương thức khác, tôi nghĩ nó không cần thiết. Tuy nhiên, tôi đang viết mã mẫu này như một phần của đơn xin việc và tôi không muốn mã của mình trông xấu và lộn xộn. Điều gì sẽ là giải pháp thanh lịch nhất?
EDIT: Tôi muốn chỉ ra rằng tôi quan tâm nhiều hơn đến các hoạt động mã hóa tốt thay vì áp dụng chức năng cụ thể TreeMap
. Như một số câu trả lời đã chỉ ra (và tôi đã đánh dấu là đã trả lời câu trả lời đầu tiên để làm như vậy), nên sử dụng mức độ trừu tượng cao hơn mà không làm mất chức năng.