Giả sử ta có 2 class A và B, A là cha của B:
Va ta có 2 biến a, b: A a, B b:
Tại sao phép gán a = b lại đúng
Và tại sao phép gán b = a lại sai.
Các bạn giải thích giúp mình với ạ. Cảm ơn mọi người
Giả sử ta có 2 class A và B, A là cha của B:
Va ta có 2 biến a, b: A a, B b:
Tại sao phép gán a = b lại đúng
Và tại sao phép gán b = a lại sai.
Các bạn giải thích giúp mình với ạ. Cảm ơn mọi người
Vì đó là quy luật tự nhiên.
Một trường (biến) lớp cha có thể gán giá trị của lớp con cho nó, ngược lại thì không.
Có thể được, nhưng phải ép kiểu, thực thể được ép kiểu phải là kiểu cần ép hoặc con của nó.
Tự nhiên thôi.
Giả sử B có thêm 1 phương thức mà A không có.
Rồi bạn gọi b.phuongthucriengcuaB() vầy sao được, vì a ko có phương thức này nên nó đâu hiểu sẽ làm gì??
Còn a.phuongthucgido() thì sẽ đúng vì phuongthucgido() cũng có trong B (do B được kế thừa từ A). theo mình hiểu là v
Nếu A có thêm class con B’, thì b = a
tức là có thể gán tham chiếu B là (hay nói cách khác là trỏ vào) đối tượng của B’, toang
Câu trả lời này có vẻ dễ hiểu nè.