Câu trả lời ngắn:
- tên phương thức không được cung cấp để phản ánh việc thực hiện nội bộ nhưng hành vi dự kiến.
Câu trả lời dài:
haveChildren()
nên được đặt tên hasChildren()
.
Ngoài ra tôi không thấy hasChildren()
nhất thiết phải là người bắt đầu cho một thành viên lớp boolean. Tôi đoán một phương pháp như vậy sẽ tìm ra liệu một thành viên của loại Collection
có trống hay không.
Tên mặc định mà IDE đặt cho các getters và setters đã tạo không được coi là một luật được đặt trong đá.
Một điểm khác: Các giao diện có tên cho các phương thức chưa được triển khai.
Nếu tên phương thức được cung cấp để phản ánh việc triển khai nội bộ, làm thế nào một người nào đó có thể thiết kế giao diện? Các giao diện không có triển khai và họ cũng không biết trước những gì người triển khai sẽ làm dưới mui xe.
Lấy ví dụ Iterator
giao diện trong Java.
Khi bạn thực hiện Iterator
, ngay cả khi bạn có một thành viên boolean được đặt tên next
, bạn không được phép đổi tên hasNext()
thành isNext()
hoặc isHavingNext()
. Đó là một chi tiết thực hiện. Trên thực tế, tôi đã thực hiện Iterator
và những gì tôi làm là có một thành viên thuộc loại người mà lớp tôi có một danh sách, được đặt tên next
(không phải là boolean). hasNext()
sau đó trở vềnext!=null
.
Ngoài ra, xem điều này:
class patient {
private boolean pulse;
private boolean breaths:
public boolean isDead(){ return (!pulse & !breaths);}
}
Lưu ý rằng isDead()
không có getter bình thường.
Sử dụng các công cụ năng suất của IDE cho những gì chúng là.
parent
sẽ hoạt động.