Từ khóa sealed [niêm phong] trong C#
Trong bài viết này chúng ta sẽ cùng tìm hiểu về từ khóa sealed và ý nghĩa của nó trong lập trình C#.
- Từ khóa sealed là gì?
- Một số đặc điểm của từ khóa sealed
- Sử dụng từ khóa sealed khi nào?
- Cách sử dụng từ khóa sealed
- #1. Đối với class
- #2. Đối với method
sealed có nghĩa thuần Việt là niêm phong. Trong C#, cho phép bạn dùng từ khóa sealed để khai báo cho một lớp hoặc một phương thức. Đúng theo ý nghĩa của nó, khi bạn sử dụng từ khóa này cho lớp thì lớp đó không được kế thừa, còn khi sử dụng cho phương thức thì phương thức đó không được phép override.
sealed class có thể kế thừa một lớp khác, nhưng không một lớp nào được kế thừa từ nó. Do đó, khi một lớp đang được lớp khác kế thừa thì trong lớp đó không được sử dụng từ khóa sealed để khai báo cho phương thức lớp đó không được sử dụng từ khóa sealed để khai báo cho lớp.
Trong sealed class các phương thức không được sử dụng phạm vi truy cập là protected, và cũng không có phương thức virtual, vì hai từ khóa này được dùng trong việc kế thừa.
sealed class không thể là lớp trừu tượng abstract class, vì trong abstract class thì có phương thức abstract bắt buộc phải kế thừa ở lớp con.
sealed class giống như final class trong java.
Vì sealed method không được phép override, nên trong định nghĩa của sealed method nó luôn luôn đi kèm với từ khóa override.
Trong sealed class không nhất thiết phải có sealed method.
Sử dụng khi bạn phát triển một thư viện library nào đấy, trong đó có một lớp đã đầy đủ những chức năng cần thiết cho một nghiệp vụ nhất định rồi và bạn không muốn lớp này được dẫn xuất, kế thừa, mở rộng bởi các lập trình viên khác nữa.
#1. Đối với lớp
Cú pháp:
Trong đó: quyen_truy_cap : là public hay private, protected, Có thể có hoặc không.
Minh họa:
#2. Đối với phương thức
Cú pháp:
Trong đó:
・ quyen_truy_cap : là public hay private, protected,
・ danh_sach_tham_so : có thể có hoặc không.
Minh họa: