Biến thực thể

Trong lập trình hướng đối tượng với lớp, biến thực thể (tiếng Anh: instance variable) là một biến được định nghĩa trong một lớp (ví dụ một biến thành viên), mà mỗi đối tượng được tạo ra cho lớp đó có một bản sao riêng. Một biến thực thể tương tự như một biến lớp.

Một biến thực thể không phải là biến lớp mặc dù chúng có nhiều điểm chung. Nó là một kiểu thuộc tính lớp (hay đặc tính lớp, trường, hay thành viên dữ liệu). Sự phân biệt tương tự giữa thành viên thực thể và lớp cũng áp dụng cho phương thức ("hàm thành viên"); một lớp có thể có cả phương thức hàm và phương thức lớp.

Mỗi biến thực thể tồn tại trong bộ nhớ của vòng đời đối tượng sở hữu nó.

Biến là đặc tính mà đối tượng biết về chính nó. Tất cả thực thể của một đối tượng đều có bản sao riêng của biến thực thể của nó, ngay cả khi giá trị giống nhau từ đối tượng này sang đối tượng khác. Một thực thể đối tượng có thể thay đổi giá trị của biến thực thể của nó mà không ảnh hưởng tới các thực thể khác. Biến thực thể có thể được dùng bởi tất cả các phương thức trong một lớp trừ khi phương phức đó được định nghĩa là tĩnh (static).

Ví dụ 

struct Request {

    static int count1; // variable name is not of importance
    int number;

    Request() {
        number = count1; // modifies the instance variable "this->number"
        ++count1; // modifies the class variable "Request::count1"
    }

};

int Request::count1 = 0;

Tham khảo 

Lập trình hướng đối tượng
Biến (khoa học máy tính)