Lớp_(lập_trình_máy_tính)

Trong lập trình hướng đối tượng, lớp (class) là một chương trình-mã-khuôn mẫu có thể mở rộng được để tạo các đối tượng, cung cấp giá trị khởi tạo cho trạng thái (biến thành viên) và hiện thực của hàn vi (hàm thành viên hay phương thức).[1][2] Trong nhiều ngôn ngữ, tên lớp được dùng như là tên của lớp (chính bản thân khuôn mẫu), tên của hàm tạo mặc định của lớp (một chương trình con tạo ra các đối tượng), và như kiểu của đối tượng được sinh ra bằng cách khởi tạo lớp; nhữn khái niệm riêng lẽ này dễ dàng được kết hợp với nhau.[2]Khi một đối tượng được tạo ra bởi hàm tạo của lớp, đối tượng kết quả được gọi là một thực thể của lớp, và biến thành viên cụ thể của đối tượng được gọi là biến thực thể (instance variable), để tương phản với biến lớp (class variable) vốn được chia sẻ giữa các lớp.Trong một số ngôn ngữ, lớp chỉ là tính năng khi biên dịch (lớp mới không thể được khai báo trong thời gian chạy), trong khi ở các ngôn ngữ khác lớp là công dân hạng nhất, và nói chung là các đối tượng (điển hình là kiểu Class hay tương tự). Ở các ngôn ngữ đó, một lớp mà tạo ra các lớp được gọi là siêu lớp (metaclass).