Tính đóng gói (encapsulation) trong C#

Trong các bài học C# trước, Taimienphi.vn đã giới thiệu cho bạn về câu lệnh điều kiện trong C# và vòng lặp (loop) trong C# là gì. Trong bài viết dưới đây Taimienphi.vn sẽ giới thiệu tiếp cho bạn về tính đóng gói (encapsulation) trong C#.

Để tìm hiểu rõ hơn về tính đóng gói (encapsulation) trong C#, bạn đọc cùng tham khảo tiếp bài viết dưới đây của Taimienphi.vn nhé.

tinh dong goi (encapsulation) trong c#

Tính đóng gói (encapsulation) trong C#
 

Mục Lục bài viết:
1. Tính đóng gói (encapsulation) trong C#.
2. Encapsulation sử dụng accessor và mutator.
3. Encapsulation sử dụng thuộc tính (property).
3.1. Thuộc tính chỉ đọc.
3.2. Thuộc tính chỉ ghi.

1. Tính đóng gói (encapsulation) trong C#

Trong C#, Encapsulation là quá trình kết hợp các dữ liệu thành viên và các hàm thành viên vào một đơn vị. Lớp (class) trong C# là ví dụ cho Encapsulation, vì lớp sẽ kết hợp các loại dữ liệu thành viên và các hàm thành viên vào một đơn vị.

Về cơ bản, tính đóng gói (encapsulation) trong C# được sử dụng để ngăn chặn việc thay đổi mã (dữ liệu) vô tình từ bên ngoài các hàm. Bằng cách định nghĩa các lớp với thuộc tính trong C# để bảo vệ dữ liệu không bị lỗi ngẫu nhiên.

2. Encapsulation sử dụng accessor và mutator

Nếu các lớp được định nghĩa với thuộc tính thì lớp đó sẽ được đóng gói, và không cho phép người dùng truy cập trực tiếp các trường, thay vào đó người dùng sẽ phải sử dụng các hàm getset để đọc hoặc ghi dữ liệu dựa trên các yêu cầu.

Dưới đây là ví dụ về định nghĩa lớp đóng gói bằng cách sử dụng các thuộc tính với các get accessor và set accessor:

tinh dong goi encapsulation trong c 2

Trong đoạn mã trên, bạn có thể thấy chúng ta định nghĩa một biến với access modifier riêng tư và hiển thị các biến đó công khai bằng cách sử dụng các thuộc tính get accessorset accessor.

Trong trường hợp nếu muốn thực hiện bất kỳ sửa đổi nào, sau đó định nghĩa các biến, bạn có thể thực hiện điều này bằng cách sử dụng các thuộc tính get accessor và set accessor.

3. Encapsulation sử dụng thuộc tính (property)

Thuộc tính (property) là tính năng ngôn ngữ mới được giới thiệu trong C#. Chỉ có một số ít ngôn ngữ hỗ trợ thuộc tính này. Các thuộc tính trong C# giúp bảo vệ một trường trong lớp bằng các đọc và ghi trường này. Tính đóng gói (Encapsulation) có thể thực thi mượt hơn với các thuộc tính.

Để hiểu rõ hơn, bạn đọc cùng tham khảo tiếp ví dụ dưới đây:

tinh dong goi encapsulation trong c 3

Ví dụ trên minh họa sử dụng tính đóng gói (Encapsulation) bằng cách sử dụng các thuộc tính. Thuộc tính bao gồm get accessor và set accessor. Get accessor trả về giá trị của một số trường thuộc tính. Set accessor thiết lập các giá trị của một số trường thuộc tính với nội dung của giá trị. Các thuộc tính có thể thực hiện chỉ đọc. Điều này có thể được thực thi bằng cách chỉ triển khai get accessor trong thuộc tính.

3.1. Thuộc tính chỉ đọc

tinh dong goi encapsulation trong c 4

Trong ví dụ trên minh họa cách triển khai thuộc tính chỉ đọc. Lớp ReadDepartment bao gồm thuộc tính Departname chỉ triển khai get accessor, giữ nguyên set accessor. Lớp đặc biệt này bao gồm một hàm dựng (constructor), chấp nhận tham số chuỗi. Phương thức Main của lớp ReadDepartmain tạo một đối tượng mới tên d.

Việc khởi tạo đối tượng d sử dụng hàm dựng của ReadDepartment, lấy tham số chuỗi. Vì chương trình trên chỉ đọc nên chúng ta không thể thiết lập giá trị cho trường Departname, và chỉ đọc hoặc nhận giá trị của dữ liệu từ trường.

Ngoài ra các thuộc tính cũng có thể thực hiện chỉ ghi, bằng cách chỉ triển khai set accessor trong thuộc tính.

3.2. Thuộc tính chỉ ghi

tinh dong goi encapsulation trong c 5

Trong ví dụ trên minh họa cách triển khai thuộc tính chỉ ghi. Lớp WriteDepartment bao gồm thuộc tính Departname chỉ triển khai set accessor, và giữ nguyên get accessor. Phương thức set accessor được thay đổi một chút vì nó in giá trị của Departname sau khi được gán.

https://thuthuat.taimienphi.vn/tinh-dong-goi-encapsulation-trong-c-43632n.aspx
Như vậy bài viết trên đây Taimienphi.vn vừa giới thiệu cho bạn về tính đóng gói (encapsulation) trong C#. Nếu có bất kỳ thắc mắc hoặc câu hỏi nào cần giải đáp, bạn đọc vui lòng để lại ý kiến của mình trong phần bình luận bên dưới bài viết, Taimienphi.vn sẽ giải đáp các thắc mắc của bạn sớm nhất có thể. Ngoài ra, bạn đọc có thể tham khảo thêm một số bài viết khác trên Taimienphi.vn để tìm hiểu rõ hơn về vòng lặp trong C# nhé.

Tác giả: Quỳnh Búp Bê     (4.0★- 3 đánh giá)  ĐG của bạn?

  

Bài viết liên quan

Cú pháp C# cơ bản
Vòng lặp (loop) trong C#
Nullable trong C# là gì?
Hằng và cách sử dụng hằng trong C#
Tính kế thừa (Inheritance) trong C#
Từ khoá liên quan:

tinh dong goi encapsulation trong c#

, Tính đóng gói (encapsulation) trong C#, C#,

SOFT LIÊN QUAN
  • Lập trình C++

    Giáo trình lập trình C++

    Lập trình C++ là tài liệu hướng dẫn học lập trình C++ - ngôn ngữ lập trình hướng đối tượng mở rộng từ ngôn ngữ C, cung cấp đến bạn các kiến thức về cách thức và tư duy lập trình. Đây là tài liệu rất hữu ích cho những ai ...

Tin Mới

  • Cách sử dụng As soon as trong tiếng Anh

    As soon as là một trong những liên từ được sử dụng rất phổ biến trong tiếng Anh, vì vậy, các bạn cần nắm bắt được cách sử dụng As soon as trong tiếng Anh để có được kiến thức hữu ích giúp cho việc học tiếng Anh của mình

  • Cách phát âm đuôi -ed trong tiếng Anh

    Để các bạn có thể biết được các phát âm các từ đuôi -ed được chính xác nhất, bài viết này sẽ giới thiệu đến các bạn nội dung cách phát âm đuôi -ed trong tiếng Anh, qua đó, các bạn có thể giải quyết được những bài tập

  • Số thứ tự trong tiếng Anh, cách viết, đọc

    Số thứ tự trong tiếng Anh, cách viết, đọc không giống với việc viết các số đếm, số thứ tự, cụ thể, các bạn chỉ cần nắm được khoảng 20 số thứ tự đầu tiên, các bạn đã có thể dễ dàng biết đọc và ghép tất cả các số thứ tự

  • Cách tải font chữ tiểu học trên máy tính

    Hãy cùng Taimienphi tìm hiểu cách tải font chữ tiểu học trên máy tính nhanh nhất. Ở bài viết này, bạn còn được giới thiệu những font chữ tiểu học phổ biến nhất hiện nay, phù hợp với mọi cấp độ học sinh từ lớp 1 đến lớp 5, nhằm đảm bảo tính đồng bộ và hiệu quả trong việc học tập của các em.