so sanh phuong thuc khoi tao va phuong thuc thuong

Màu nền
Font chữ
Font size
Chiều cao dòng

Câu 1 : Phương thức khởi tạo và phương thức thông thương có gì khác nhau? Trình bày về chồng phương thức khởi tạo? tại sao phải chồng phương thức khởi tạo?

Trả lời :

* Điểm khác nhau giữa phương thức khởi tạo và phương thức thông thường :

- Phương thức khởi tạo có tên trùng với tên của lớp

- Phương thức khởi tạo không có một số từ khóa như abstract, static, final…

- Các phương thức khởi tạo không được xem như là thành viên của lớp

- Phương thức khởi tạo không có giá trị trả về và không cần khai báo void

- Khi sử dụng, phương thức khởi tạo đứng sau toán tử new.

* Chồng phương thức khời tạo :

Trong một lớp, nếu không định nghĩa phương thức khởi tạo, thì Java sẽ tự gọi phương thức khởi tạo mặc định rỗng khi đối tượng được tạo lập.

Ta có thể định nghĩa phương thức khởi tạo mặc định, để khởi tạo một đối tượng với các thuộc tính được đặt mặc định.

Khi ta muốn khởi tạo đối tượng với dữ liệu nào đó, ta cần xây dựng một phương thức khởi tạo khác phương thức mặc định, có tham biến để nhận dữ liệu.

Với các dữ liệu có kiểu khác nhau, số lượng dữ liệu khác nhau và số lượng thuộc tính mặc định của đối tượng khác nhau, ta xây dựng các phương thức khởi tạo với số lượng và kiểu tham biến tương ứng. Song, các phương thức khởi tạo này đều có cùng tên là tên của lớp  Điều này gọi là chồng phương thức khởi tạo.

* Lí do phải chồng phương thức khởi tạo 

Các đối tượng thuộc cùng một lớp, xét theo từng hoàn cảnh khác nhau, thì có thể được khởi tạo dựa trên số lượng thông tin khác nhau, tùy theo số lượng các thuộc tính được đặt mặc định. Chẳng hạn: 

Có một học sinh A phải lên gặp thầy Hiệu trưởng để nói chuyện, thầy sẽ hỏi:

- Em tên gì?

- Học lớp nào?

Hai thông tin đó cấu thành nên đối tượng học sinh A. Nếu trong giờ học, học sinh A được cô giáo khen thưởng vì trả lời tích cực, cô giáo sẽ hỏi:

- Em tên gì?

Ở đây, học sinh A chỉ cần có 1 thông tin là có thể xác định được. Còn thông tin về lớp học thì được mặc định là 12A1 rồi.

Việc chồng phương thức khởi tạo đem lại thuận tiện cho người sử dụng, khi khởi tạo đối tượng trong các tình huống khác nhau như trên. Ngoài ra, nó còn đảm bảo tính chặt chẽ dữ liệu khi đặt một số thuộc tính được khởi tạo mặc định, hoặc không cần sử dụng đến. Chẳng hạn:

Ở trường THPT X, khởi tạo đối tượng học sinh có tên là A, lớp là 12A1. Khởi tạo học sinh B ở lớp 12A2. Nhà trường cũng có thể khởi tạo là học sinh A lớp 12A2, học sinh B lớp 12A4, ở đây, tùy dữ liệu cung cấp vào, mà học sinh được gán thuộc tính là lớp học nào.

Ở lớp 12A1, trường THPT X, khởi tạo đối tượng học sinh là A, thuộc tính lớp học được để mặc định là 12A1, do vậy, ko có hiện tượng học sinh A bị khai báo nhầm là học lớp 12A2. Việc khởi tạo cũng đơn giản hơn khi chỉ cần biết tên học sinh.

Bạn đang đọc truyện trên: Truyen2U.Pro