01/10/2018, 09:35
1 phương thức chỉ in ra thông báo thì nó trả về cái gì?
khi so sánh constructor với phương thức thì sách có ghi là phương thức phải trả về 1 giá trị,vậy mọi người cho em hỏi ví dụ như là 1 phương thức chỉ in ra thông báo thì nó trả về cái gì vậy ạ,
Bài liên quan
Trả về giá trị không có gì :v
Khái niệm hàm, thủ tục ở ngôn ngữ c/c++ , java không phân biệt rõ ràng lắm, như 1 số ngôn ngữ pascal chẳng hạn.ngữ nghĩa cú pháp rất chặt.thủ tục là không trả về giá trị.còn hàm là phải trả về giá trị.bên c/c++ java thì trả về giá trị hay k trả về giá trị đều gọi là hàm, phương thức là 1 hàm nhưng được để trong 1 class và tác động lên 1 số dữ liệu, được coi như là hành động của đối tượng thuộc class đó. Nên việc phân biệt như trên là k cần thiết. Ng ta so sánh contructor với phương thức ý chỉ về cú pháp 1 cái có kiểu trả về, 1 cái k. Void là k trả về cái gì cả cũng là 1 kiểu trả về
Theo như mình thấy thì thủ tục trong Pascal chẳng khác gì các phương thức void cả.
Constructor thì nó thuộc về OOP, thời mình còn học Pascal thì không học cái đó nên cũng không biết mặt mũi nó trong Pascal ra sao.
Constructor muốn trả về giá trị thì thêm toán tử
new
Làm sao để trả về giá trị từ constructor bạn.mình chưa học java nhưng bên c++ mình chưa gặp hàm khởi tạo trả về giá trị
À, ý mình là trả về giá trị thì dùng trong phép toán ý, kiểu
ahjhj A = new ahjhj(50);
tương tự nhưint A = 5;
thìnew ahjhj(int Input)
coi như một giá trị của kiểu dữ liệuahjhj
Hoặc là cách viết hàm sau thì thể hiện rõ hơn một chút:
Cái này do toán tử new cấp phát vùng nhớ cho biến đã khai báo trước thôi, chứ bản chất constructor vẫn k trả về giá trị mà
Thì đúng là nếu chỉ có mỗi constructor thì đâu có trả về giá trị. Nhưng nếu gọi constructor ra thì code vẫn chạy và bộ nhớ vẫn được cấp phát và tạo ra giá trị rác do không có biến nào tương ứng để sử dụng.
Giống như các hàm trả về giá trị, có thể gọi nó ra mà không cần dùng nó làm toán hạng.