30/09/2018, 20:29
Hỏi về kiểu Type... trong java?
Có đọc tài liệu có đoạn code class Mảng phân số như sau. Cho mình hỏi trong đoạn code bên dưới cách viết PhanSo… là như thế nào?(Có thử khởi tạo dạng mảng thì build thành công nhưng không hiểu ý nghĩa chỗ PhanSo…).
public class MangPhanSo {
private PhanSo[] arr;
public MangPhanSo(){
this.arr = null;
}
//Phương thức khởi tạo có tham số
public MangPhanSo(PhanSo... arr)
{
this.arr = new PhanSo[arr.length];
for(int i = 0; i < arr.length; i++)
{
this.arr[i] = new PhanSo(arr[i]);
}
}
}
Bài liên quan
bạn đã học hướng đối tượng chưa ?
cái này là class PhanSo.
Trong code này người ta đã xây dựng sẵn class phân số.
Code này bạn lấy trên mạng phải không ?
Ở phần này thì PhanSo là một đối tượng đã đượng tạo từ trước có chứa các thuộc tính và phương thức. Nên có thể làm như vậy.
Bạn có thể tham khảo vào Hướng đối tượng để hiểu rõ vấn đề này hơn
@TheSky @masoivn mấy bác hiểu nhầm ý rồi. Hướng đối tượng này nọ thì mình hiểu rồi có class PhanSo riêng mình không đưa code lên. Ý mình là ý nghĩa của cách viết: PhanSo… hoặc int… thấy cách dùng giống mảng 1 chiều mà không rõ cách dùng này ở đâu ra
cái đó gọi là Varargs, cú pháp này được giới thiệu từ Java 5. Có thể tham khảo bài viết này http://viralpatel.net/blogs/varargs-in-java-variable-argument-method-in-java-5/. Good luck!
yeah.đúng rồi cảm ơn chú.hehe.
vậy sao có đoạn khởi tạo như vậy ?
Đoạn đó chỉ là phép gán bình thường của phần tử thứ i cho một phân số thôi. Ở đây new PhanSo(arr[i]) là phương thức khởi tạo sao chép của lớp Phân số thôi. Do mình thắc mắc cú pháp: Type… là cách khai báo nhiều biến kiểu nối tiếp nên ko post hết code
code lớp phân số: