Siêu lớp

Trong lập trình hướng đối tượng, siêu lớp (tiếng Anh: metaclass) là một lớp mà thực thể của nó là lớp. Giống như một lớp thông thường định nghĩa hành vi của những đối tượng nhất định, một siêu lớp định nghĩa hành vi của những lớp nhất định và các thực thể của chúng. Không phải tất cả các ngôn ngữ hướng đối tượng đều hỗ trợ siêu lớp. Trong số đó, mức độ mà siêu lớp có thể ghi đè lên khía cạnh nhất định của hành vi lớp sẽ khác nhau. Siêu lớp có thể được hiện thực bằng cách có nhiều lớp loại công dân hạng nhất, trong trường hợp đó một siêu lớp chỉ đơn giản là một đối tượng tạo nên lớp các lớp khác. Mỗi ngôn ngữ đều có giao thức siêu đối tượng của riêng nó, là một tập hợp các quy tắc chi phối các mà các đối tượng, lớp và siêu lớp tương tác với nhau.[1]

Tham khảo

[sửa | sửa mã nguồn]
  1. ^ Ira R. Forman and Scott Danforth (1999). Putting Metaclasses to Work. ISBN 0-201-43305-2.