Danh mục

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    
Thu Hiền

Phí tải xuống: 16,000 VND Tải xuống file đầy đủ (24 trang) 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 … … ...

Tài liệu được xem nhiều: