2012-01-19 27 views
5

Trong nhiều bài viết tôi đã đọc trên web nói rằng khi tạo thuộc tính trong vb.net, chúng nên sử dụng các phương thức get/set và biến thành viên private/protected trong lớp học.vb.net get/set Thuộc tính không có logic

Giống như vậy:

Public Class Person 
    Private _name as string 
    public property Name as string 
    get 
     return _name 
    end get 
    set(byval value as string) 
     _name = value 
    end set 
    end property 
end class 

Nếu có không có logic trong get/set của tài sản, tại sao không phải là một ghi rằng cùng một tài sản như thế này:

Public class Person 
    Public Property Name as string 
end class 

Is điều này bởi vì các thuộc tính được dự định chỉ là các trình truy cập vào lớp từ bên ngoài và bạn sẽ lưu trữ biến trong lớp?

+0

oh, tôi hiểu. Tôi nhận ra câu trả lời của bạn là "sự thống nhất trong mã của bạn". Tôi cũng không nhận ra những thuộc tính tự động thực hiện là gì, cho đến khi tôi đọc [bài viết MSDN] (http://msdn.microsoft.com/en-us/library/dd293589.aspx) về nó. Cảm ơn về thông tin bạn vừa nhập. – Jim

Trả lời

6

Lý do là các nguyên tắc và hướng dẫn này đã được xuất bản trước khi VB.NET 4.0 xuất hiện. Không có lý do nào khác không sử dụng các thuộc tính được tự động triển khai.

0

Hướng dẫn cũ trước đây là tính năng. Ký hiệu thuộc tính được tự động triển khai cung cấp cho bạn một cách ngắn gọn để hoàn thành tính nhất quán của quyền truy cập vào lớp học của bạn

1

Trong khi Konrad có nó, tôi sẽ thêm vào đó là hướng dẫn, giáo dục học sinh về cách hoạt động của thuộc tính quan trọng hơn thực hiện phím tắt. Một hướng dẫn hiện đại hơn sẽ hiển thị mã mở rộng, sau đó là phím tắt.

Cuối cùng, điều này phụ thuộc vào hướng dẫn, cho dù đó là về nguyên tắc cơ bản và phương pháp luận hay về một tính năng cụ thể.

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