2009-02-11 31 views
5

Trong .NET, số phương thức hoặc kích thước của các phương thức (tức là, số lượng mã) trong một đối tượng có ảnh hưởng đến lượng bộ nhớ mà đối tượng sử dụng khi nó được khởi tạo không?Các phương pháp có ảnh hưởng đến kích thước vật thể của tôi không?

VÍ DỤ: Một đối tượng có 3 thuộc tính int và 1 phương thức chiếm nhiều bộ nhớ hơn đối tượng có 3 thuộc tính int và 20 phương pháp?

Nếu "có", các phương pháp tĩnh có chiếm ít bộ nhớ hơn không? Xin lưu ý: Tôi nhận ra rằng thực sự gọi một phương thức có thể khởi tạo các đối tượng hoặc biến khác sẽ sử dụng bộ nhớ - câu hỏi của tôi chỉ liên quan đến lượng bộ nhớ mà họ sử dụng sau khi gọi hàm tạo.

Trả lời

9

No. Phương pháp mất bộ nhớ nhưng đó là rất ít. Bảng phương thức cũng như mã được tạo cho phương thức được chia sẻ bởi mỗi cá thể của đối tượng.

+0

Vì vậy, các phương pháp mất bộ nhớ, nhưng nó được chia sẻ giữa các đối tượng cùng loại? (tức là "Bộ nhớ phương pháp" sử dụng cho 1 đối tượng giống với "bộ nhớ phương pháp" sử dụng 100 đối tượng cùng loại?) – Rick

+0

có. Đúng rồi –

2

một đối tượng với 3 int tính và 1 phương pháp sẽ mất nhiều bộ nhớ hơn một đối tượng với 3 int tài sản và 20 phương pháp?

Câu trả lời là không. Các phương thức không phải là một phần của bất kỳ cá thể cụ thể nào. Họ thuộc về đối với loại.

Các vấn đề liên quan