Biến sơ thẩm vs Biến cục bộ
Một biến đối tượng là một loại biến có mặt trong lập trình hướng đối tượng. Đó là một biến được định nghĩa trong một lớp và mỗi đối tượng của lớp đó giữ một bản sao riêng của biến đó. Mặt khác, việc sử dụng các biến cục bộ không giới hạn ở các ngôn ngữ lập trình hướng đối tượng. Đó là một biến chỉ có thể được đánh giá trong một khối mã cụ thể (ví dụ: hàm, khối vòng lặp, v.v.) trong đó nó được xác định. Vì lý do này, các biến cục bộ được cho là có phạm vi cục bộ.
Biến sơ thẩm là gì?
Các biến sơ thẩm được sử dụng trong lập trình hướng đối tượng để lưu trữ trạng thái của từng đối tượng trong một lớp. Chúng còn được gọi là biến thành viên hoặc biến trường. Các biến sơ thẩm được khai báo mà không sử dụng từ khóa tĩnh trong Java. Các giá trị được lưu trữ trong các biến thể hiện là duy nhất cho mỗi đối tượng (mỗi đối tượng có một bản sao riêng) và các giá trị được lưu trữ trong chúng đại diện cho trạng thái của đối tượng đó. Không gian cho một biến đối tượng được phân bổ trong heap, khi đối tượng đó được phân bổ trong heap. Do đó, các biến thể hiện được giữ trong bộ nhớ miễn là đối tượng còn sống. Ví dụ, màu của một chiếc xe độc lập với màu của một chiếc xe khác. Vì vậy, màu sắc của một đối tượng xe hơi có thể được lưu trữ trong một biến thể hiện. Trong thực tế, các biến thể hiện được khai báo bên trong các lớp và các phương thức bên ngoài. Thông thường, các biến đối tượng được khai báo là riêng tư, do đó, chúng chỉ có thể được truy cập trong lớp được khai báo.
Biến cục bộ là gì?
Biến cục bộ là biến có phạm vi cục bộ và chúng được khai báo trong một khối mã cụ thể. Các biến cục bộ có thể được xem như là các biến được sử dụng bởi một phương thức để lưu trữ trạng thái tạm thời của nó. Phạm vi của một biến cục bộ được xác định bằng cách sử dụng vị trí mà biến đó được khai báo và các từ khóa đặc biệt không được sử dụng cho mục đích này. Thông thường, quyền truy cập vào một biến cục bộ bị giới hạn trong khối mã được khai báo (nghĩa là giữa các dấu ngoặc mở và đóng của khối mã đó). Các biến cục bộ thường được lưu trữ trong ngăn xếp cuộc gọi. Điều này sẽ cho phép các lệnh gọi hàm đệ quy duy trì các bản sao riêng của các biến cục bộ được lưu trữ trong các không gian địa chỉ bộ nhớ riêng biệt. Khi phương thức kết thúc thực hiện, thông tin về phương thức đó được bật ra khỏi ngăn xếp cuộc gọi, đồng thời phá hủy các biến cục bộ được lưu trữ.
Sự khác biệt giữa biến Instance và biến cục bộ?
Các biến sơ thẩm được khai báo bên trong các lớp bên ngoài các phương thức và chúng lưu trữ trạng thái của một đối tượng, trong khi các biến cục bộ được khai báo trong các khối mã và chúng được sử dụng để lưu trữ trạng thái của một phương thức. Một biến đối tượng tồn tại miễn là đối tượng chứa biến đó là trực tiếp, trong khi một biến cục bộ tồn tại trong quá trình thực thi khối phương thức / mã đó. Một biến đối tượng (được khai báo là công khai) có thể được truy cập trong lớp, trong khi đó một biến cục bộ chỉ có thể được truy cập trong khối mã mà nó được khai báo. Việc sử dụng các biến thể hiện chỉ giới hạn trong lập trình hướng đối tượng, trong khi các biến cục bộ không có giới hạn như vậy.