Sự khác biệt giữa Biến phiên bản và Biến cục bộ

Sự khác biệt giữa Biến phiên bản và Biến cục bộ
Sự khác biệt giữa Biến phiên bản và Biến cục bộ

Video: Sự khác biệt giữa Biến phiên bản và Biến cục bộ

Video: Sự khác biệt giữa Biến phiên bản và Biến cục bộ
Video: 🇯🇵 SỰ KHÁC NHAU GIỮA NHÀ TRẺ và MẪU GIÁO tại Nhật 2024, Tháng mười một
Anonim

Biến phiên bản so với Biến cục bộ

Biến thể hiện là một loại biến có trong lập trình hướng đối tượng. Nó 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 biệt của biến đó. Mặt khác, việc sử dụng các biến cục bộ không chỉ giới hạn trong các ngôn ngữ lập trình hướng đối tượng. Nó 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.) mà 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 Phiên bản là gì?

Các biến cá thể được sử dụng trong lập trình hướng đối tượng để lưu trữ trạng thái của mỗi đố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 cá thể được khai báo mà không sử dụng từ khóa static 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 biệt) 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 thể hiện được cấp phát trong heap, khi đối tượng đó được cấp phát trong heap. Do đó, các biến cá thể được giữ trong bộ nhớ miễn là đối tượng còn sống. Ví dụ, màu sắc của một chiếc xe hơi độc lập với màu sắc của một chiếc xe hơi khác. Vì vậy, màu 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 cá thể đượ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 cá thể được khai báo là private để chúng chỉ có thể được truy cập trong lớp mà nó được khai báo.

Biến cục bộ là gì?

Biến cục bộ là các 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 là các biến được sử dụng bởi một phương pháp để 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ã mà nó được khai báo (tức là giữa dấu ngoặc nhọn 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 của riêng chú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 quá trình thực thi, thông tin về phương thức đó sẽ xuất hiện từ ngăn xếp cuộc gọi, đồng thời hủy các biến cục bộ đã được lưu trữ.

Sự khác biệt giữa Biến phiên bản và Biến cục bộ là gì?

Các biến cá thể được khai báo 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 thể hiện tồn tại miễn là đối tượng chứa biến đó còn hoạt động, trong khi một biến cục bộ tồn tại trong quá trình thực thi phương thức / khối mã đó. Một biến thể hiện (được khai báo 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 cá thể chỉ bị 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.

Đề xuất: