30/09/2018, 23:36
Các bạn cho mình chút ý kiến về Tính bao gói trong C++?
Liệu có nên dùng hàm set, get cho các thuộc tính kiểu array hay container như vector không, hay chỉ nên dùng trực tiếp luôn?
Bài liên quan
Đóng gói hay bao gói @@
Dùng nó là một chuyện bình thường mà bạn !
đóng gói, bao gói mình nghĩ đều hiểu được.
Mai mốt bọc gói luôn cho đủ bộ
Nhưng ý mình là việc dùng nó nó container và array cơ mình thấy nó hơi lạ:
ví dụ hàm get cho 1 mảng chẳng hạn.
private:
int arr[50];
int* getArray() {
return this->arr;
}
khi dùng nó: getArray()[0] = 10;
Hay là dùng luôn arr[0] = 10;
lên google dịch encapsulation có cả nghĩa bao gói nhé, cần thì add luôn bọc gói hì hì.
Bạn cho ý kiến vào topic đi
Sao bạn ko viết hàm get trực tiếp luôn
ừ mình cũng đã từng làm vậy nhưng đang thắc mắc hay là gán trực tiếp luôn cho đỡ phiền
Tại vì chương trình bạn nhỏ, thì xài trực tiếp vài cái chắc chả vấn đề gì.
Nhưng giả dụ chương trình bạn có 10 chỗ get như trên. Ở mỗi chỗ bạn code ra 1 nùi như vậy thì lỡ như phát hiện sai 1 chỗ -> Phải sửa lại 10 chỗ.
Rồi chưa kể code nh quá bị quáng, thế là 1 trong 10 chỗ trên bị sai -> Rất khó tìm lỗi.
Vậy nên đóng gói nó lại thành 1 làm getter, setter như vậy thì có sai cũng biết là sai chỗ nào để sửa vì có 1 hàm thôi. Chưa kể không cần viết lại code nh nữa.
ừm, bạn nói cũng có lý.
Thanks.