Nên dùng. bài đó chỉ là nói có vài trường hợp hạn chế thôi. Còn dùng get & set sẽ tăng thêm tính bảo mật vì mọi truy xuất đều là gián tiếp đến biến
JAVA CORE - Object Orientation (Update Polymorphism - 5/8)
Thanks, Tớ sẽ viết tiếp trong sáng nay nhé
Tớ update thêm nhé 5/8
Mình nhớ là reference variable đâu có thay đổi được object trỏ tới đâu nhỉ, hay là nhầm với C++
bạn nhầm với C++ rồi
ý bạn “thay đổi Object trỏ tới là gì”?.
Nếu bạn dùng lênh gán =, Biến Reference sẽ trỏ đến 1 Object mới, tất nhiên Object cũ không thay đổi.
còn bạn dùng lệnh gọi hàm (dấu .) sẽ trực tiếp thay đổi giá trị của Object đó (như trong ví dụ set lai name thành Peter),
Bạn có thể đọc kỹ lại bâì viết của tớ. Nếu bạn phản đổi thì nên đưa ra lý lẽ giải thích tại sao cho mọi người thảo luận
Còn mình khẳng định là mình không sai nhé , bạn có thể tham khảo tài liệu mình đính kèm ở bài này:
Trang 213, mục Passing Variable into Method.
Mình đâu có nói bạn sai, chỉ là mình muốn confirm xem mình có nhầm lẫn với C++ thôi. Bởi vì C++ reference variable khởi tạo rồi là không thay đổi được.
Oh tớ hiểu nhầm ý bác là bảo tớ nhầm với C++ hehe
Nếu vậy thì reference variable mục đích khác với C++ hoàn toàn, C++ ref variable là tạo ra 1 name alias còn reference variable trong java trỏ tới trỏ lui được thì khác gì pointer đâu chỉ là đổi tên ko gọi là pointer thôi. hehe đó là suy nghĩ của mình
Chuẩn mình thấy giống con trỏ Khi khai báo mà chưa cấp phát thì có một reference trong stack chỉ đợi khi cấp phát bằng new là cho trỏ vào một đối tượng cụ thể trên heap
Vì java không nhập nhằng giữa 2 khái niệm Pointer, Ref variable bác ạ.
Như hồi mình học C++, lúc pointer lúc không đau cả đầu :)). Java thì mặc định là Pointer luôn.
Chắc mình chưa học kĩ nên chưa thấy đau đầu mấy
bản chất là giống con trỏ tuy nhiên nó có thể trỏ đến trực tiếp vùng nhớ của đối tượng khác với đối tượng khởi tạo thông qua ép kiểu dữ liệu. M thấy C++ cũng không đau đầu lắm tuy nhiên để giải quyết một bài toán lớn tối ưu thành ngôn ngữ C++ thì khá phức tạp nếu không ngẫm sâu hiểu kĩ.
Bạn có sử dụng facebook không ?
Mình có thể kết bạn cùng nhau nghiên cứu java chứ ?
Ép kiểu không thay đổi nhé bạn . Ép kiểu chỉ là 1 hình thức loè compiler cho pass thôi .
Mình ít dùng fb, bạn có thể add skype: thanhcuong234 để tiện trao đổi
ý m nói là muốn truy xuất đến method của lớp con mà lớp cha không có method đó thì theo câu lệnh m có thể hiểu nó giống như ép kiểu dữ liệu trong C++
sao ko thấy bài viết nữa nhỉ
nhờ ví dụ này của bạn mà mình hiểu thêm về chỗ Reference copy này. Khi parametter của một method là một Object thì nó chỉ là tạo ra các bản copy. Trước giờ mình cứ tưởng là mọi thay đổi trên parameter này đều ảnh hưởng đến parameter gốc. Cảm ơn nhiều.
OK cho là thừa thải đi thì vậy nếu ko sử dụng set/get thì làm sao mình có thể lấy được giá trị của size hoặc set lại giá trị ? Bạn nói thêm chỗ này nhé.