tailieunhanh - Chương 4

Hàm tạo không có kết quả trả về. . Sự giống nhau của hàm tạo và các phương thức thông thường Ngoài 3 điểm khác biệt trên, hàm tạo được viết như các phương thức khác: + Hàm tạo có thể được xây dựng bên trong hoặc bên ngoài định nghĩa lớp. | Chương 4 Hàm tạo hàm huỷ và các vấn đề liên quan Chương này trình bầy một số vấn đề có tính chuyên sâu hơn về lớp như Hàm tạo constructor Hàm huỷ destructor Toán tử gán và hàm tạo sao chép Mối liên quan giữa hàm tạo và đối tượng thành phần Các thành phần tĩnh Lớp bạn hàm bạn Đối tượng hằng Phương thức inline 1. Hàm tạo constructor . Công dụng Hàm tạo cũng là một phương thức của lớp nhưng khá đặc biệt dùng để tạo dựng một đối tượng mới. Chương trình dịch sẽ cấp phát bộ nhớ cho đối tượng sau đó sẽ gọi đến hàm tạo. Hàm tạo sẽ khởi gán giá trị cho các thuộc tính của đối tượng và có thể thực hiện một số công việc khác nhằm chuẩn bị cho đối tượng mới. . Cách viết hàm tạo . Điểm khác của hàm tạo và các phưong thức thông thường Khi viết hàm tạo cần để ý 3 sự khác biệt của hàm tạo so với các phương thức khác như sau Tên của hàm tạo Tên của hàm tạo bắt buộc phải trùng với tên của lớp. Không khai báo kiểu cho hàm tạo. 150 Hàm tạo không có kết quả trả về. . Sự giống nhau của hàm tạo và các phưong thức thông thường Ngoài 3 điểm khác biệt trên hàm tạo được viết như các phưong thức khác Hàm tạo có thể được xây dụng bên trong hoặc bên ngoài định nghĩa lớp. Hàm tạo có thể có đối hoặc không có đối. Trong một lóp có thể có nhiều hàm tạo cùng tên nhưng khác bộ đối . Ví dụ sau định nghĩa lớp DIEM DH Điểm đồ hoạ có 3 thuộc tính int x hoành độ cột của điểm int y tung độ hàng của điểm int m mầu của điểm và đưa vào 2 hàm tạo để khởi gán cho các thuộc tính của lớp Hàm tạo không đối Dùng các giá trị cố định để khởi gán cho X y m DIEM DH Hàm tạo có đối Dùng các đối xl yl ml để khởi gán cho X y m Đối ml có giá trị mặc định 15 mầu trắng DIEM_DH int xl int yl int ml 15 class DIEM DH private int X y m public Hàm tạo không đối khởi gán cho x 0 y 0 m l 151 Hàm này viết bên trong định nghĩa lớp DIEM DH x y 0 m l Hàm tạo này xây dựng bên ngoài định nghĩa lớp DIEM_DH int xl int yl int ml 15 Các phương thức khác Xây dụng hàm tạo bên ngoài định nghĩa lớp DIEM DH DIEM_DH int xl int yl int