Đây là câu hỏi về bài tập về nhà của tôi: Lớp nào sau đây KHÔNG được đóng gói chặt chẽ?Lớp đóng gói chặt chẽ
class A
{
private int x;
}
class B
{
private int x;
public void setX(int x)
{
this.x=x;
}
public int getX()
{
return x;
}
}
class C
{
private int x;
private void setX(int x)
{
this.x=x;
}
private int getX()
{
return x;
}
}
Tôi đã dành chút thời gian tìm kiếm trên coderanch nhưng không thể nhận được nội dung yêu cầu. Ai đó làm ơn giúp tôi với?
Điều tôi nghĩ là lớp C không được đóng gói chặt chẽ, vì các phương pháp là riêng tư. Và về lớp A, điều tôi cảm thấy là nó không chỉ đóng gói. Bởi vì định nghĩa cơ bản của đóng gói nói rằng "Bạn phải ẩn các thành viên của bạn và cung cấp cho các phương pháp người dùng lớp mà hành xử theo cách bạn muốn." Bây giờ lớp A không có phương thức bộ biến tần. Vì vậy, A không nên được coi là đóng gói. Tôi không chắc lắm. Hãy sửa tôi nếu tôi sai.
này có lẽ sẽ không giúp bạn, nhưng câu hỏi được đặt ra (có lẽ là bởi những người chỉ dẫn của bạn) một cách trừu tượng vô lý. Một lớp được đóng gói chặt chẽ khi nó chỉ phơi bày giao diện mà khách hàng của nó cần. Nó khá là không thể nói một cách có ý nghĩa mà không biết mục đích của một lớp học nhất định. – millimoose