Có mẫu "chuẩn" cho getters và setters trong Java, được gọi là Bean properties. Về cơ bản, bất kỳ phương thức nào bắt đầu bằng get
, không lấy đối số và trả về một giá trị, là một thuộc tính getter cho một thuộc tính có tên là phần còn lại của tên phương thức (với một chữ cái bắt đầu thấp hơn). Tương tự như vậy set
tạo ra một setter của một phương pháp void với một đối số duy nhất.
Ví dụ:
// Getter for "awesomeString"
public String getAwesomeString() {
return awesomeString;
}
// Setter for "awesomeString"
public void setAwesomeString(String awesomeString) {
this.awesomeString = awesomeString;
}
Hầu hết Java IDE sẽ tạo ra những phương pháp dành cho bạn nếu bạn hỏi họ (trong Eclipse nó đơn giản như di chuyển con trỏ đến một lĩnh vực và nhấn Ctrl-1, sau đó chọn tùy chọn từ danh sách).
Đối với những gì nó có giá trị, để có thể đọc bạn thực sự có thể sử dụng is
và has
ở vị trí của get
cho thuộc tính boolean kiểu quá, như trong:
public boolean isAwesome();
public boolean hasAwesomeStuff();
Tôi có thể thề tôi đã thấy cú pháp thuộc tính phong cách C# ở đâu đó trong một số mã Java, nhưng đối với cuộc sống của tôi Tôi không thể nhớ ở đâu và như thế nào. Điều này thực sự không trả lời câu hỏi của tôi nhưng tôi sẽ chấp nhận nó vì yếu tố tuyệt vời. Có lẽ tôi đã bị ảo giác rồi. – Ishmaeel
Tôi khá chắc chắn rằng nó không thể được thực hiện trong Java, xin lỗi. Có rất nhiều ngôn ngữ JVM có hỗ trợ lớp học đầu tiên cho loại điều này, mặc dù, có lẽ đó là những gì bạn nhìn thấy? – Calum
Có phải vi phạm quy ước này nếu bạn thêm tiền tố vào biến thành viên với một cái gì đó như 'm',' m_' hoặc '_', nhưng sau đó bạn không bao gồm tiền tố đó trong tên của thuộc tính? – Panzercrisis