2010-01-12 30 views

Trả lời

7

Một lý do: nếu lớp của bạn triển khai một số giao diện (hoặc mở rộng một số lớp trừu tượng với phương thức trừu tượng công khai), thì bạn không thể giảm khả năng hiển thị của các phương thức đã triển khai đó.

+3

Các lớp con công khai cũng sẽ kế thừa các phương thức công khai. –

6

Lớp không công khai có thể triển khai giao diện công khai. Điều này có nghĩa là các lớp bên ngoài gói không thể tạo một thể hiện của lớp này hoặc tạo các tham chiếu của kiểu đó, nhưng chúng vẫn có thể gọi các phương thức trên nó nếu truyền một thể hiện.

Ví dụ, một lớp nhà máy công cộng có thể tạo ra một thể hiện của một lớp không công khai trong gói của nó và trả về nó.

+0

Ngay cả giao diện không công khai cũng có các phương thức công khai. –

0

Đó là sự kết hợp tuyệt vời giữa Bảo mật và khả năng sử dụng được đóng gói trong một.

Tôi sẽ đánh dấu một Lớp có quyền truy cập mặc định nếu tôi muốn có quyền truy cập gói, (để không gói nào khác có thể sử dụng hoặc thay đổi mã tốt hơn) và đánh dấu phương thức công khai. có thể truy cập được đối với tất cả các lớp khác, bất kể họ thuộc về gói nào.

Trợ giúp đó giúp đỡ như thế nào? Một lớp đủ an toàn để thực hiện tất cả việc triển khai mã phức tạp và có thể sử dụng đủ để cung cấp đầu ra cho người dùng muốn sử dụng nó.

Làm cách nào để bất kỳ ai sử dụng? Bạn cũng viết mã để giúp họ sử dụng nó bằng cách tạo ra một lớp công khai mở rộng lớp mặc định này. Bạn khởi tạo lớp con công khai này trong bất kỳ gói nào (sau khi nhập khóa học) và điều này có tất cả các phương thức được đánh dấu công khai.

Bạn có một lớp học mà phép thuật của bạn mà tất cả mọi người có thể sử dụng mà không đưa cho ai khác một gợi ý về cách bạn đã làm nó!

Các vấn đề liên quan