Mình đang đọc đến phần này, và thấy nó giống như phương thức.(Tuy nhiên thấy cú pháp dễ sử dụng và ngắn gọn hơn).
Vậy Đóng gói dữ liệu với thành phần thuộc tính :
Nên dùng khi nào?
Tiện ích của nó là gì?
Có thể so sánh nó như chồng toán tử không(ở đây ý là so sánh về tiện ích ngắn gọn và tiện sử dụng)?
Và nó chỉ có thuộc tính Set và Get?(Phải chăng việc đóng gói chính là như vậy? Cái này mình chưa có đọc tới)
Thanks!
Trao đổi kiến thức sẽ giúp ta tiếp cận nhanh với kiến thức.
Mình cũng mới học, nhưng theo mình hiểu thì thuộc tính cũng chỉ là một phương thức thôi. Nhưng vì set và get là 2 phương thức thường dùng, nên người ta mới đặt ra thuộc tính để tiện dụng.
Trong trường hợp client(người dùng class bạn viết) muốn truy cập trực tiếp đến dữ liệu trong class, nếu bạn để thuộc tính là public thì mất tính đóng gói dữ liệu, nếu bạn dùng hàm truy cập như SetProperty1, SetProperty2,...(ví dụ thôi) thì client khó sử dụng. Khi đó dùng thuộc tính sẽ tốt hơn.
Về chồng toán tử thì mình không biết so sánh thế nào, nhưng mình nghĩ là dùng thuộc tính đỡ phải cân nhắc hơn. Ví dụ:
Trong lớp Employee của bạn có các thuộc tính: tuổi, tiền lương, cấp bậc, ...
Nếu bạn nạp chồng toán tử ++(với ý nghĩa là nâng bậc lương) thì người dùng sẽ dễ nhầm lẫn, vì họ có thể hiểu ++ là nâng tuổi chẳng hạn.
Còn dùng thuộc tính thì quá rõ ràng rồi...
Theo mình biết thì chỉ có thuộc tính Set và Get thôi.