Thứ Ba, 3 tháng 2, 2009

Lớp được niêm phong (Sealed class) là gì ? Dùng trong những trường hợp nào ?

Lớp được niêm phon (Sealed class) là một lớp không cho các lớp khác kế thừa từ nó. Ví dụ khi bạn phát triển một thư viện class nào đấy, trong đó có một lớp có đầy đủ những chức năng cần thiết cho một nghiệp vụ nào đấy và bạn không muốn lớp này được dẫn xuất, mở rộng bởi những lập trình viên kế thừa sau này, lúc đó bạn sử dụng lớp niêm phong với từ khóa sealed :

public sealed class A
{
public sealed void XinChao()
{ }
}

Một vài quy tắc khi sử dụng lớp niêm phong :

- Không được khai báo protected hay virtual trong lớp được niêm phong

Lớp lồng nhau (Nested class) là gì?

Trong một số trường hợp, yêu cầu nghiệp vụ nào đó, ta chỉ cần một lớp đó chỉ phục vụ cho một lớp khác, ta có thể khai báo hai lớp này lồng vào nhau. Lớp lồng trong (inner class hay nested class) có thể truy xuất được các dữ liệu thành viên của lớp ngoài (outer class) :

class A
{
int _a;
class B
{

A a1 = new A();

a1._a = ….
}
}