01/10/2018, 17:12
Nếu trong Class em viết như thế này thì sẽ có lỗi gì ạ
Em học trên mạng thì người ta khuyên viết constuctor theo kiểu chainning như này. Nhưng cho em hỏi là ở dòng
this(freeBags);
em không viết như thế thì nó sẽ gặp vấn đề gì trong chương trình mà người dạy khuyên không nên viết như thế ạ, đoạn code không nên viết em sẽ để ảnh ở dưới ạ

Bài liên quan
Viết như vậy dễ bị nhầm lẫn thôi chứ chẳng lỗi gì cả.
Tên trường (field) của lớp và tên tham trị giống nhau thì dùng
this
để phân biệt. Tuy vậy không nên để chúng giống nhau vì dễ gây nhầm, hoặc khi quênthis
sẽ dẫn đến sai.Mình hay thêm dấu gạch dưới để nó khác nhau:
Về cơ bản để 2 constructor thế kia sẽ không tận dụng được khả năng tái sử dụng code. Lấy đơn giản 1 trường hợp cụ thể như này:
Như bình thường, như code của bạn, truyền
freeBags
vào constructor và không động chạm gì đến nó:Oke code này k có vấn đề gì cả, chạy bình thường luôn. Nhưng đến 1 lúc nào đó, bạn muốn truyền
freeBags
vào constructor nhưng đồng thời, muốn kiểm traPassenger
chỉ được phép mang tối đa 10freeBags
chẳng hạn. Bạn sẽ làm thế nào?Ta có thể kiểm tra giá trị ở ngay trong constructor đúng không?
Hay ho ở đây này. Với constructor thứ 2, bạn không tận dụng lại constructor đầu tiên, thì bạn sẽ phải lặp lại đoạn code kiểm tra số lượng
freeBags
.Hay chỉ cần dùng
this(freeBags)
để tận dụng đoạn code của constructor thứ nhất:Đây mới là với 2 constructor và code đơn giản, bạn thử hình dùng với 1 constructor xử lí phức tạp, và class của bạn có rất nhiều constructor, thì sẽ ra sao
Dù constructor đơn giản hay không, tốt nhất là cứ nên dùng
this
để đỡ phải code nhiều mà đảm bảo đc code k chạy sai.ông này hiểu đúng này câu hỏi này.
Em cám ơn ạ, anh hiểu đúng câu hỏi của em rồi ạ
Không đúng ý câu hỏi của em nhưng em cũng cám ơn vì anh đã giúp ạ
Đọc không kĩ nên mình nhầm