Bài giảng Phương pháp lập trình hướng đối tượng - Chương 3: Hàm dựng, Hàm hủy, Hàm toán tử
Số trang: 26
Loại file: ppt
Dung lượng: 950.00 KB
Lượt xem: 13
Lượt tải: 0
Xem trước 3 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Chương 3: Hàm dựng, Hàm hủy, Hàm toán tử thuộc bài giảng Phương pháp lập trình hướng đối tượng trình bày về tính chất hàm dựng, hàm dựng mặc định, hàm dựng sao chép, tính chất hàm hủy, hàm toán tử. Tài liệu này giúp ích cho quá trình học tập và giảng dạy.
Nội dung trích xuất từ tài liệu:
Bài giảng Phương pháp lập trình hướng đối tượng - Chương 3: Hàm dựng, Hàm hủy, Hàm toán tử Chương 3: 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 . 1Nộ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 . 2Nộ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 . 3Hà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 HocSinh Tửsố?? Họ tên?? Mẫu số?? Đ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 . 4Hà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 void main() { { private: PhanSo p1(1, 2); int m_tuSo; PhanSo p2(2, 3); int m_mauSo; PhanSo *p3 = new PhanSo(2, 3); public: } PhanSo(int tuSo, int mauSo); PhanSo(int giaTri); };Phương pháp lập trình hướng đối tượng . 5Hà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 { void main() private: { int m_tuSo; PhanSo p; int m_mauSo; PhanSo q = new PhanSo; public: } PhanSo(); };Phương pháp lập trình hướng đối tượng . 6Hà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 void main() { { private: PhanSo p1(1, 2); int m_tuSo; PhanSo p2(p1); int m_mauSo; PhanSo p3 = p2; public: } PhanSo(const PhanSo &p); };Phương pháp lập trình hướng đối tượng . 7Hà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); PhanSo(const PhanSo &p); };Phương pháp lập trình hướng đối tượng . 8Nộ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 . 9Hàm hủy Vấn đề rò rỉ bộ nhớ (memory leak): Khi hoạt động, đối tượng có cấp phát bộ nhớ. Khi hủy đi, bộ nhớ không được thu hồi!! Giải pháp: Xây dựng phương thức thu hồi. Người dùng quên gọi! Làm “khai tử” cho đối tượng. HocSinh Rò rrỉbộ nhớ!! Rò ỉ bộ nhớ!! Họ tên Điểm văn Điểm toán Thu hồi Hàm hủy vào cuộc!!Phương pháp lập trình hướng đối tượng . 10Hàm hủy Tính chất hàm hủy (destructor): Tự động gọi khi đối tượng bị hủy. Mỗi lớp có duy nhất một hàm hủy. Trong C++, hàm hủy có tên ~ class HocSinh { void main() private: { char *m_hoTen; HocSinh h; float m_diemVan; HocSinh *p = new HocSinh; float m_diemToan; delete p; public: } ~HocSinh() { delete m_hoTen; ...
Nội dung trích xuất từ tài liệu:
Bài giảng Phương pháp lập trình hướng đối tượng - Chương 3: Hàm dựng, Hàm hủy, Hàm toán tử Chương 3: 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 . 1Nộ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 . 2Nộ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 . 3Hà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 HocSinh Tửsố?? Họ tên?? Mẫu số?? Đ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 . 4Hà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 void main() { { private: PhanSo p1(1, 2); int m_tuSo; PhanSo p2(2, 3); int m_mauSo; PhanSo *p3 = new PhanSo(2, 3); public: } PhanSo(int tuSo, int mauSo); PhanSo(int giaTri); };Phương pháp lập trình hướng đối tượng . 5Hà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 { void main() private: { int m_tuSo; PhanSo p; int m_mauSo; PhanSo q = new PhanSo; public: } PhanSo(); };Phương pháp lập trình hướng đối tượng . 6Hà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 void main() { { private: PhanSo p1(1, 2); int m_tuSo; PhanSo p2(p1); int m_mauSo; PhanSo p3 = p2; public: } PhanSo(const PhanSo &p); };Phương pháp lập trình hướng đối tượng . 7Hà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); PhanSo(const PhanSo &p); };Phương pháp lập trình hướng đối tượng . 8Nộ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 . 9Hàm hủy Vấn đề rò rỉ bộ nhớ (memory leak): Khi hoạt động, đối tượng có cấp phát bộ nhớ. Khi hủy đi, bộ nhớ không được thu hồi!! Giải pháp: Xây dựng phương thức thu hồi. Người dùng quên gọi! Làm “khai tử” cho đối tượng. HocSinh Rò rrỉbộ nhớ!! Rò ỉ bộ nhớ!! Họ tên Điểm văn Điểm toán Thu hồi Hàm hủy vào cuộc!!Phương pháp lập trình hướng đối tượng . 10Hàm hủy Tính chất hàm hủy (destructor): Tự động gọi khi đối tượng bị hủy. Mỗi lớp có duy nhất một hàm hủy. Trong C++, hàm hủy có tên ~ class HocSinh { void main() private: { char *m_hoTen; HocSinh h; float m_diemVan; HocSinh *p = new HocSinh; float m_diemToan; delete p; public: } ~HocSinh() { delete m_hoTen; ...
Tìm kiếm theo từ khóa liên quan:
Phương pháp lập trình hướng đối tượng Bài giảng Lập trình hướng đối tượng Hàm toán tử Tính chất hàm hủy Hàm dựng sao chép Toán tử độc lậpTài liệu có liên quan:
-
14 trang 141 0 0
-
Bài giảng Lập trình hướng đối tượng (dùng JAVA): Chương 1 - Trần Minh Thái
40 trang 45 0 0 -
Bài giảng Lập trình hướng đối tượng: Chương 1 - Trần Minh Thái
40 trang 31 0 0 -
Bài giảng Lập trình hướng đối tượng: Bài 1 - Tổng quan về lập trình hướng đối tượng
47 trang 26 0 0 -
Bài giảng Lập trình hướng đối tượng (OOP): Ôn tập
184 trang 26 0 0 -
36 trang 24 0 0
-
Bài giảng Lập trình hướng đối tượng: Bài 11 - Lập trình giao diện với JavaFX
99 trang 24 0 0 -
Bài giảng Lập trình hướng đối tượng: Phần 2
113 trang 23 0 0 -
Bài giảng Lập trình hướng đối tượng - XML và Database
88 trang 23 0 0 -
NHẬP MÔN LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG - CHƯƠNG 2
18 trang 23 0 0