OOP: Tầm vực và sử dụng tầm vực một cách thích hợp
Tầm vực là một khái niệm quan trọng trong Lập trình Hướng đối tượng. Tầm vực ảnh hưởng đến việc kế thừa của class này đến các class khác. Bài này sẽ nói về các tầm vực của các từ khóa là public, protected, package, private.
Thuộc Tính và Phương Thức Mang Tầm Vực public
Những thuộc tính và phương thức này ít bị hạn chế nhất. Chúng có thể được truy cập từ mọi class.
Thuộc Tính và Phương Thức Mang Tầm Vực private
Những thuộc tính và phương thức này bị hạn chế nhiều nhất. Chúng chỉ có thể được truy cập từ chính class đó (class khác với object).
Như vậy, thường thì ta sẽ đặt tầm vực của biến thành viên là private và của phương thức là private hoặc public.
Thuộc Tính và Phương Thức Mang Tầm Vực protected
Những thuộc tính và phương thức mang tầm vực này có thể được truy cập từ chính class đó, từ package chứa class đó và subclass.
Thuộc Tính và Phương Thức Mang Tầm Vực package
Những thuộc tính và phương thức mang tầm vực này có thể được truy cập từ chính class đó và từ package chứa class đó.
Để hiểu rõ hơn chúng ta sẽ tìm hiểu ví dụ sau:
- x mang tầm vực public nên x có thể được truy cập từ mọi class trong hình.
- y có tầm vực là protected nên những y có thể được truy cập từ Sample, Other1, Sub1, Sub2.
- z không được khai báo tầm vực nên mặc định nó là package, z có thể được truy cập từ Sample, Other1, Sub1.
- t mang tầm vực là private nên t chỉ có thể truy cập từ Sample.
Ta có thể thấy rằng việc sử dụng protected và package khá bất tiện vì có sự nhập nhằng giữa việc truy cập từ subclass và từ package. Bởi vậy, chúng ta chủ yếu nên sử dụng private và public.
Nhận xét
Đăng nhận xét