Ví dụ mã (Java):
public class MutableInteger {
private int value;
// Lots of stuff goes here
public boolean equals(Object o) {
if(!(o instanceof MutableInteger)){ return false; }
MutableInteger other = (MutableInteger) o;
return this.value == other.value; // <------------
}
}
Nếu giả định "biến thành viên tư nhân tới các trường hợp" là đúng, dòng đánh dấu sẽ gây ra một lỗi biên dịch, bởi vì lĩnh vực other.value
là tư nhân và một phần của một đối tượng khác với đối tượng có phương thức equals()
đang được gọi.
Nhưng vì trong Java (và hầu hết các ngôn ngữ khác có khái niệm hiển thị) private
mức hiển thị là mỗi lớp, quyền truy cập vào trường được phép cho tất cả mã của MutableInteger
, không liên quan đến trường hợp nào được sử dụng để gọi nó.
Nguồn
2009-08-31 13:42:21
Cách này liên quan đến đóng gói? – p4bl0
khả năng hiển thị riêng là cách đóng gói được thực hiện bằng các ngôn ngữ như Java, C++ và C# –
@ p4bl0 Cách đóng gói và phạm vi biến có liên quan như thế nào? Khá cơ bản. – meagar