Mình sẽ rút kn tránh cho những lý luyết khác vào . Còn mọi người ignore nó là đc mà
JAVA CORE - Object Orientation (Update Polymorphism - 5/8)
@duc123
Cho mình hỏi còn cách khác để che giấu thông tin ngoài set/get với ạ. Mình mới học nên còn mập mờ những chỗ ntn
a post thêm nhiều bài mới đi a
bạn chỉ cần private tất cả những phần tử của lớp thôi là được rùi và không tạo ra những phương thức nào mà làm lộ cấu trúc của những phần tử đó ra bên ngoài như set và get (xài cũng được nhưng chỉ khi nào thực sự cần thiết)
nếu vậy, lấy lại ví dụ trên, thì mình chỉ cần sửa public thành private của 2 thuộc tính size và weight đúng ko bạn?
ừ đúng rồi bạn chỉ cần làm vậy thôi
Tớ đang cố gắng post liên tục, tối nay sẽ update thêm nhé
cảm ơn bạn, mình phần nào đã rõ tính đóng gói ở đây
Phần Polymorphism hay quá Lúc đầu em cứ thắc mắc mãi sao java nó cứ phải khai báo object “thừa” như thế, giờ thì rõ rồi
Mình góp thêm một đoạn nhỏ ở phần Encapsulation:
Dưới đây là 1 đoạn code nhỏ mô tả Encapsulation bằng hàm get/set:
class Box
{
// protect the instance variable; only an instance
// of Box can access it
private int size;
// Provide public getters and setters
public int getSize() {
return size;
}
public void setSize(int newSize) {
size = newSize;
}
}
Bạn có nhận thấy là việc khai báo hàm getSize() và setSize(int) ở đây rất là thừa thải không? vì ở đây chúng ta không thực hiện việc kiểm tra tính đúng đắn cũng như làm bất kì thao tác gì ngoài việc truy vấn và gán dữ liệu. Tuy nhiên việc làm này là cần thiết vì sau này có thể bạn sẽ cần thêm code vào các phương thức này mà không làm thay đổi code dùng ở nơi khác (API). Một thiết kế hướng đối tượng tốt thì luôn hướng đến việc sẽ có những thay đổi trong tương lai. Cho nên để an toàn thì bạn nên LUÔN LUÔN truy xuất biến qua các phương thức (methods) thay vì truy xuất trực tiếp
Cám ơn bạn đóng góp
hóng update của bác nè.
Tạo thêm topic rồi lập series? Vậy được không nhỉ?
hay là làm video training đi a ơi ,
video tớ không thích lắm, thôi cố nốt topic này như vậy đã.
Topic hay và dễ hiểu ạ. Cảm ơn anh @CuongNguyen đã viết bài và các anh chị em khác bình luận để có góc nhìn đa chiều và đầy đủ hơn ạ
ad ơi cho em xin phần tiếp theo ạ