Lập trình

Tầm Vực Trong Lập Trình Hướng Đối Tượng: public, private, protected và internal

Tác giả: ThienKhang
Ngày: 5/17/2025 10:04:38 AM
Lượt xem: 12

Trong lập trình hướng đối tượng, việc kiểm soát mức độ truy cập (access level) của các thành phần lớp là rất quan trọng để đảm bảo tính đóng gói (Encapsulation) và bảo mật dữ liệu. Các từ khóa truy cập như public, private, protected, và internal cho phép bạn kiểm soát cách các thành phần (thuộc tính, phương thức, class con...) được truy cập từ bên ngoài hoặc bên trong class.


Trong bài viết này, chúng ta sẽ cùng tìm hiểu tầm vực truy cập của các thành phần lớp dựa trên các từ khóa phổ biến này.

Tầm vực của lớp chỉ xác định lớp có thể được thấy hay không, không ảnh hưởngđến tầm vực các thành phần bên trong lớp đó.
Mặc định khi không khai báo từ khóa thì tầm vực của thành phần được xem như là private

  1.  public – Truy cập công khai

Từ khóa public xác định thành phần được phép truy xuất từ bên ngoài lớp
đó. Đây là mức truy cập công khai, được truy cập mội nơi.

public class NguoiDung
{
   public string Ten { get; set; } // Có thể truy cập từ bất kỳ đâu
}

  2. private – Truy cập riêng tư

Thành phần được khai báo private chỉ được truy cập bên trong class đó.

Đây là mức độ bảo vệ cao nhất, dùng để ẩn chi tiết nội bộ của lớp.

public class NguoiDung
{
   private string matKhau; // Không thể truy cập từ bên ngoài

   public void SetMatKhau(string mk)
   {
       matKhau = mk;
   }
}
3. protected – Truy cập kế thừa

Thành phần protected có thể truy cập trong class đócác lớp dẫn xuất (con).

Đây là cách kiểm soát truy cập khi làm việc với tính kế thừa.

public class NhanVien
{
   protected double LuongCoBan;

   protected void TinhLuong() { ... }
}

public class GiamDoc : NhanVien
{
   public void HienThiLuong()
   {
       // Có thể truy cập LuongCoBan và TinhLuong từ lớp cha
   }
}

4. internal – Truy cập nội bộ Assembly

Thành phần internal chỉ có thể được truy cập trong cùng một Assembly (tức là trong cùng một dự án hoặc thư viện).

internal class BaoCao
{
   internal void InBaoCao() { ... }
}

Mức truy cậpTruy cập trong classTruy cập lớp dẫn xuấtTruy cập bên ngoàiGhi chú
publicMở nhất
privateĐóng kín
protectedDùng cho kế thừa
internal✔ (nếu cùng Assembly)✖ (nếu khác Assembly)Giới hạn nội bộ

Việc hiểu rõ và áp dụng đúng tầm vực truy cập bằng các từ khóa public, private, protected, internal là nền tảng để xây dựng mã nguồn chắc chắn, dễ bảo trì và bảo mật cao. Hãy sử dụng tầm vực chặt chẽ nhất có thể và chỉ mở rộng khi thật cần thiết – đó là nguyên tắc quan trọng trong thiết kế hệ thống hướng đối tượng.
 

📢 Chia sẻ bài viết:


Tin liên quan

Bình luận