Lập trình hướng đối tượng C++ - Chương 9
Số trang: 24
Loại file: ppt
Dung lượng: 421.50 KB
Lượt xem: 10
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:
Thừa kế là nhiều hình thức, nhiều kiểu tồn tại Đa hình trong lập trình đa hình hàm: hàm trùng tên, phân biệt bởi danh sách tham số đa hình đối tượng nhìn nhận đối tượng theo nhiều kiểu khác nhau các đối tượng khác nhau giải nghĩa thông điệp.
Nội dung trích xuất từ tài liệu:
Lập trình hướng đối tượng C++ - Chương 9 CHƯƠNG 9: THỪA KẾ (INHERITANCE) Bộ môn Hệ Thống Máy Tính và Truyền Thông Khoa Công Nghệ Thông Tin và Truyền Thông Đại học Cần ThơKhoa Công Nghệ Thông Tin - Đại Học Cần Thơ 1 Chương 9 Nội dung Khái niệm Lớp dẫn xuất đơn giản Ký hiệu các thứ bậc Hàm xây dựng và hàm hủy Thành viên lớp được bảo vệ Lớp cơ sở riêng, chung và được bảo vệ Đa thừa kế - Sự mơ hồ Hàm ảo - Lớp cơ sở ảo Chuyển kiểu Các toán tử được tái định nghĩaKhoa Công Nghệ Thông Tin - Đại Học Cần Thơ 2 Chương 9 Khái niệm Kế thừa từ các lớp có từ trước. Ích lợi: có thể tận dụng lại Các thuộc tính chung Các hàm có thao tác tương tự Lớp cơ sở LỚP CHA STUDENT (Base class) (Super class) Lớp dẫn xuất LỚP CON CIT_STUDENT (Derived class) (Sub class)Khoa Công Nghệ Thông Tin - Đại Học Cần Thơ 3 Chương 9 Ví dụ minh họa Ký hiệu n ContactDir Contact composition#include class ContactDir {#include private:class Contact { int Lookup(const char *name); private: Contact **contacts; // ds cac doi tac char *name; // ten doi tac int dirSize; // kich thuoc thu muc hien tai char *address; // dia chi doi tac char *tel; // so dien thoai int maxSize; // kich thuoc thu muc toi da public: public: Contact (const char *name, ContactDir (const int maxSize); const char *address, const char *tel); ~ContactDir(); ~Contact (); void Insert(const Contact&); const char* Name () const { return name;} void Delete(const char *name); const char* Address() const { return address;} Contact* Find(const char *name); const char* Tel() const { return tel;} friend ostream& operator Chương 9 Ví dụ minh họa (tt) n ContactDir Contact Ký hiệu Thừa kế SmartDir class SmartDir : public ContactDir { Contact* SmartDir::Recent (void) { private: return recent == 0 ? 0 : char *recent; // ten duoc tim gan nhat ContactDir::Find(recent); public: } SmartDir(const int max) : ContactDir(max) Contact* SmartDir::Find (const char *name) { { recent = 0; } Contact *c = ContactDir::Find(name); Contact* Recent (void); if (c != 0) Contact* Find (const char *name); recent = (char*) c->Name(); // ……………. return c; }; }Khoa Công Nghệ Thông Tin - Đại Học Cần Thơ 5 Chương 9 Ví dụ (tt) - mô tả trong bộ nhớ **contacts **contacts dirSize dirSize maxSize maxSize ContactDir *recent SmartDir *contacts 1 *contacts 1 Contact 1 *contacts 2 Contact 1 *contacts 2 *contacts 3 *contacts 3 … … Contact 2 Contact 2 *contacts i *contacts i … … ...
Nội dung trích xuất từ tài liệu:
Lập trình hướng đối tượng C++ - Chương 9 CHƯƠNG 9: THỪA KẾ (INHERITANCE) Bộ môn Hệ Thống Máy Tính và Truyền Thông Khoa Công Nghệ Thông Tin và Truyền Thông Đại học Cần ThơKhoa Công Nghệ Thông Tin - Đại Học Cần Thơ 1 Chương 9 Nội dung Khái niệm Lớp dẫn xuất đơn giản Ký hiệu các thứ bậc Hàm xây dựng và hàm hủy Thành viên lớp được bảo vệ Lớp cơ sở riêng, chung và được bảo vệ Đa thừa kế - Sự mơ hồ Hàm ảo - Lớp cơ sở ảo Chuyển kiểu Các toán tử được tái định nghĩaKhoa Công Nghệ Thông Tin - Đại Học Cần Thơ 2 Chương 9 Khái niệm Kế thừa từ các lớp có từ trước. Ích lợi: có thể tận dụng lại Các thuộc tính chung Các hàm có thao tác tương tự Lớp cơ sở LỚP CHA STUDENT (Base class) (Super class) Lớp dẫn xuất LỚP CON CIT_STUDENT (Derived class) (Sub class)Khoa Công Nghệ Thông Tin - Đại Học Cần Thơ 3 Chương 9 Ví dụ minh họa Ký hiệu n ContactDir Contact composition#include class ContactDir {#include private:class Contact { int Lookup(const char *name); private: Contact **contacts; // ds cac doi tac char *name; // ten doi tac int dirSize; // kich thuoc thu muc hien tai char *address; // dia chi doi tac char *tel; // so dien thoai int maxSize; // kich thuoc thu muc toi da public: public: Contact (const char *name, ContactDir (const int maxSize); const char *address, const char *tel); ~ContactDir(); ~Contact (); void Insert(const Contact&); const char* Name () const { return name;} void Delete(const char *name); const char* Address() const { return address;} Contact* Find(const char *name); const char* Tel() const { return tel;} friend ostream& operator Chương 9 Ví dụ minh họa (tt) n ContactDir Contact Ký hiệu Thừa kế SmartDir class SmartDir : public ContactDir { Contact* SmartDir::Recent (void) { private: return recent == 0 ? 0 : char *recent; // ten duoc tim gan nhat ContactDir::Find(recent); public: } SmartDir(const int max) : ContactDir(max) Contact* SmartDir::Find (const char *name) { { recent = 0; } Contact *c = ContactDir::Find(name); Contact* Recent (void); if (c != 0) Contact* Find (const char *name); recent = (char*) c->Name(); // ……………. return c; }; }Khoa Công Nghệ Thông Tin - Đại Học Cần Thơ 5 Chương 9 Ví dụ (tt) - mô tả trong bộ nhớ **contacts **contacts dirSize dirSize maxSize maxSize ContactDir *recent SmartDir *contacts 1 *contacts 1 Contact 1 *contacts 2 Contact 1 *contacts 2 *contacts 3 *contacts 3 … … Contact 2 Contact 2 *contacts i *contacts i … … ...
Tìm kiếm theo từ khóa liên quan:
thủ thuật máy tính công nghệ thông tin tin học quản trị mạng computer networkGợi ý tài liệu liên quan:
-
52 trang 430 1 0
-
24 trang 355 1 0
-
Top 10 mẹo 'đơn giản nhưng hữu ích' trong nhiếp ảnh
11 trang 314 0 0 -
Làm việc với Read Only Domain Controllers
20 trang 303 0 0 -
74 trang 299 0 0
-
96 trang 293 0 0
-
Báo cáo thực tập thực tế: Nghiên cứu và xây dựng website bằng Wordpress
24 trang 289 0 0 -
Đồ án tốt nghiệp: Xây dựng ứng dụng di động android quản lý khách hàng cắt tóc
81 trang 281 0 0 -
EBay - Internet và câu chuyện thần kỳ: Phần 1
143 trang 275 0 0 -
Tài liệu dạy học môn Tin học trong chương trình đào tạo trình độ cao đẳng
348 trang 269 1 0