Bài giảng này giới thiệu về hàm dựng, hàm hủy, hàm toán tử trong lập trình hướng đối tượng. Ngoài trình bày các kiến thức về ba hàm nêu trên, trong bài giảng này còn cung cấp một số bài tập giúp người học củng cố và nắm chắc kiến thức trong bài giảng. . | Phương pháp lập trình hướng đối tượng . Hàm dựng, Hàm hủy, Hàm toán tử Phương pháp lập trình hướng đối tượng . Nội dung Hàm dựng. Hàm hủy. Hàm toán tử. Bài tập. Phương pháp lập trình hướng đối tượng . Nội dung Hàm dựng. Hàm hủy. Hàm toán tử. Bài tập. Phương pháp lập trình hướng đối tượng . Hàm dựng Khi đối tượng vừa được tạo: Giá trị các thuộc tính bằng bao nhiêu? Đối tượng cần có thông tin ban đầu. Giải pháp: Xây dựng phương thức cung cấp thông tin. Người dùng quên gọi?! “Làm khai sinh” cho đối tượng! PhanSo Tử số?? Mẫu số?? HocSinh Họ tên?? Điểm văn?? Điểm toán?? Hàm dựng ra đời!! Phương pháp lập trình hướng đối tượng . Hàm dựng Tính chất hàm dựng (constructor): Bắt buộc gọi khi tạo đối tượng. Có thể nạp chồng nhiều hàm dựng. Trong C++, hàm dựng có tên trùng tên lớp. class PhanSo { private: int m_tuSo; int m_mauSo; public: PhanSo(int tuSo, int mauSo); PhanSo(int giaTri); }; void main() { PhanSo p1(1, 2); PhanSo p2(2, 3); PhanSo *p3 = new PhanSo(2, 3); } Phương pháp lập trình hướng đối tượng . Hàm dựng Hàm dựng mặc định (default constructor): Không có tham số. Dùng tạo đối tượng với thông tin mặc định. Lớp không có hàm dựng. Trình biên dịch cung cấp. class PhanSo { private: int m_tuSo; int m_mauSo; public: PhanSo(); }; void main() { PhanSo p; PhanSo q = new PhanSo; } Phương pháp lập trình hướng đối tượng . Hàm dựng Hàm dựng sao chép (copy constructor): Có tham số là đối tượng cùng lớp. Dùng tạo đối tượng từ đối tượng cùng loại. Lớp không có hàm dựng sao chép. Trình biên dịch cung cấp. class PhanSo { private: int m_tuSo; int m_mauSo; public: PhanSo(const PhanSo &p); }; void main() { PhanSo p1(1, 2); PhanSo p2(p1); PhanSo p3 = p2; } Phương pháp lập trình hướng đối tượng . Hàm dựng Dr. Guru khuyên: Một lớp nên có tối thiểu 3 hàm dựng: Hàm dựng mặc định. Hàm dựng có đầy đủ tham số. Hàm dựng sao chép. class PhanSo { private: int m_tuSo; int m_mauSo; public: PhanSo(); PhanSo(int tuSo, int mauSo); . | Phương pháp lập trình hướng đối tượng . Hàm dựng, Hàm hủy, Hàm toán tử Phương pháp lập trình hướng đối tượng . Nội dung Hàm dựng. Hàm hủy. Hàm toán tử. Bài tập. Phương pháp lập trình hướng đối tượng . Nội dung Hàm dựng. Hàm hủy. Hàm toán tử. Bài tập. Phương pháp lập trình hướng đối tượng . Hàm dựng Khi đối tượng vừa được tạo: Giá trị các thuộc tính bằng bao nhiêu? Đối tượng cần có thông tin ban đầu. Giải pháp: Xây dựng phương thức cung cấp thông tin. Người dùng quên gọi?! “Làm khai sinh” cho đối tượng! PhanSo Tử số?? Mẫu số?? HocSinh Họ tên?? Điểm văn?? Điểm toán?? Hàm dựng ra đời!! Phương pháp lập trình hướng đối tượng . Hàm dựng Tính chất hàm dựng (constructor): Bắt buộc gọi khi tạo đối tượng. Có thể nạp chồng nhiều hàm dựng. Trong C++, hàm dựng có tên trùng tên lớp. class PhanSo { private: int m_tuSo; int m_mauSo; public: PhanSo(int tuSo, int mauSo); PhanSo(int giaTri); }; void main() { PhanSo p1(1, 2); PhanSo p2(2, 3); PhanSo *p3 = new .