Skip to main content

Một biến thể hiện là gì?

Một biến thể hiện là một phần dữ liệu trong lập trình hướng đối tượng có giá trị duy nhất riêng cho mọi đối tượng mà nó cư trú.Các biến thể hiện cũng có thể được gọi là thành viên thể hiện, trường không tĩnh và thành viên dữ liệu.Chúng là một phần quan trọng của hầu hết các đối tượng, giữ các phần dữ liệu cụ thể mà đối tượng sử dụng để tính toán. Ví dụ, nếu có hai đối tượng, A và B, trong đó đối tượng A có biến thể hiện gọi là blah và đối tượng B cũngCó một biến thể hiện gọi là blah, hai biến blah là các thực thể riêng biệt.Mỗi biến được liên kết với đối tượng gói gọn nó.Tên đầy đủ của biến đổi biến liên quan đến đối tượng A là A.Blah, trong khi tên đầy đủ của biến đổi biến liên quan đến đối tượng B là B.Blah.Mỗi biến nếu các biến này có thể có giá trị riêng của nó.Nếu các đối tượng A và B cùng loại và một đối tượng khác thuộc loại đó, C, được tạo và đối tượng C cũng sẽ có một biến thể hiện, có thể có giá trị duy nhất của nó.Các biến tĩnh, nhưng hai là khác nhau đáng kể.Trái ngược với các biến thể hiện, trong đó mọi đối tượng của một loại cụ thể đều có riêng của nó, các biến tĩnh chỉ có một giá trị và giá trị này là giống nhau cho mọi đối tượng của loại thích hợp.Các biến tĩnh thường được gọi là các biến lớp, không giống như các biến thể hiện.trong đó nó cư trú cũng như bất kỳ đối tượng khác.Loại khả năng hiển thị cuối cùng, được gọi là tầm nhìn công cộng, thường được coi là thực tiễn xấu, ví dụ như các biến, bởi vì nó dễ dàng vi phạm các nguyên tắc đóng gói trong lập trình hướng đối tượng.Mặc dù điều cấm kỵ này, có những lúc các biến thể hiện công khai là hữu ích.Ví dụ, nhiều lớp tiêu chuẩn trong Java có các biến thể hiện công khai, đôi khi cho phép dễ dàng sửa đổi các thuộc tính. Khả năng hiển thị của một biến thể hiện cũng được phát huy với kế thừa.Nếu một lớp kế thừa từ một lớp khác, điều này không ngay lập tức cung cấp cho cả hai lớp truy cập vào các biến thể hiện của nhau.Các biến thể hiện riêng trong các lớp siêu lớp và lớp con vẫn chỉ giới hạn ở các lớp đó, do đó, một biến riêng trong lớp con không thể được nhìn thấy bởi siêu lớp và ngược lại.Các biến thể hiện duy nhất mà cả siêu lớp và lớp con có thể thấy là các biến được bảo vệ trong siêu lớp.