Biến thực thể

Bách khoa toàn thư mở Wikipedia

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.[1]

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ể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àmphươ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ó.[2]

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).[3]

Ví dụ[sửa | sửa mã nguồn]

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[sửa | sửa mã nguồn]

  1. ^ “The Java Tutorial, Variables”. docs.oracle.com. Oracle. Bản gốc lưu trữ ngày 23 tháng 10 năm 2014. Truy cập ngày 23 tháng 10 năm 2014.
  2. ^ “The Java Tutorials, Understanding Class Members”. docs.oracle.com. Oracle. Bản gốc lưu trữ ngày 11 tháng 10 năm 2014. Truy cập ngày 23 tháng 10 năm 2014.
  3. ^ Matuszek, David. “Static”. cis.upenn.edu. University of Pennsylvania. Bản gốc lưu trữ ngày 23 tháng 10 năm 2014. Truy cập ngày 23 tháng 10 năm 2014.