Bài giảng Lập trình: Chương 5 - Vũ Song Tùng
lượt xem 3
download
Bài giảng Lập trình chương 5 trang bị cho người học những kiến thức cơ bản về dẫn xuất/thừa kế và đa hình/đa xạ như: Dẫn xuất/thừa kế, hàm ảo và cơ chế đa hình/đa xạ, lớp thuần ảo, kiểm soát truy nhập, tương thích kiểu.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Lập trình: Chương 5 - Vũ Song Tùng
- om .c Lập trình ng co an Chương 5: Dẫn xuất/thừa kế và đa hình/đa xạ th o ng du u cu 2/10/2017 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Nội dung 5.1 Dẫn xuất/thừa kế om 5.2 Hàm ảo và cơ chế đa hình/đa xạ .c 5.3 Lớp thuần ảo ng 5.4 Kiểm soát truy nhập co 5.5 Tương thích kiểu an th o ng du u cu Chương 5: Dẫn xuất/thừa kế và đa hình/đa xạ 2 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 5.1 Dẫn xuất và kế thừa Nghiên cứu các thuộc tính và phương thức của các loại xe đạp sau om .c Xe đạp (Bicycle) Tandem bicycle ng co an th o ng du u cu Chương 5: Dẫn xuất/thừa kế và đa hình/đa xạ 3 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Racing Bike Mountain Bike om .c ng co an th o ng du u cu Chương 5: Dẫn xuất/thừa kế và đa hình/đa xạ 4 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 5.1 Dẫn xuất và kế thừa (…) Tandem bicycle là một loại xe đạp om – Xe đạp có hai yên .c Mountain bicycle là một loại xe đạp ng – Xe đạp có khả năng chống sốc (lốp dầy và nhiều bắnh răng) co Racing bicyle là một loại xe đạp an – Xe đạp có cấu tạo khí động lực học nhẹ th Tandem, mountain, racing bicycle là những loại xe ng đạp chuyên dụng o du – Có các thành phần cơ bản của một chiếc xe đạp – Cùng nguyên lý hoạt động u cu – Bổ sung thêm các thông tin khác Chương 5: Dẫn xuất/thừa kế và đa hình/đa xạ 5 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 5.1 Dẫn xuất và kế thừa (…) Cơ chế dẫn xuất/thừa kế là một kỹ thuật lập trình hướng đối tượng cho phép chuyên biệt hóa om Dẫn xuất cho phép tạo ra một lớp mới (lớp dẫn xuất) của các đối .c tượng bằng cách sử dụng các lớp cũ như là các lớp cơ sở ng – Lớp dẫn xuất thừa hưởng các thuộc tính và hành vi của lớp “cha- co mẹ” (lớp cơ sở) – Lớp dẫn xuất là một phiên bản chuyên biệt hóa của lớp “cha-mẹ” an th ng Lớp cơ sở - ” lớp cha mẹ” Bicycle o du u Mountain Racing Tandem cu Bikes Bikes Bikes Lớp dẫn xuất Chương 5: Dẫn xuất/thừa kế và đa hình/đa xạ 6 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Ví dụ minh họa sử dụng cơ chế dẫn xuất Xây dựng các lớp biểu diễn về con người, sinh viên, giảng viên om .c Các thuộc tính và phép toán cơ bản của lớp Person ng co Tên lớp Person an name: string age: int Thuộc tính th gender: string ng set_name o get_name du set_age Phép toán/ get_age u phương thức cu set_gender get_gender display Chương 5: Dẫn xuất/thừa kế và đa hình/đa xạ 7 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Các thuộc tính và phép toán cơ bản của lớp Student và Lecture om Student Lecture .c name: string name: string ng age: int age: int gender: string gender: string co class: string faculty: string an id: int telnumber: int set_name th set_name get_name ng get_name set_age set_age get_age o get_age du set_gender set_gender get_gender get_gender u set_class set_faculty cu get_class get_faculty set_id set_telnumber get_id get_telnumber display display Chương 5: Dẫn xuất/thừa kế và đa hình/đa xạ 8 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 5.1 Dẫn xuất và kế thừa (…) Ba lớp trên giống nhau về: om – Thuộc tính: .c Name Age ng gender co – Phương thức an set_name, get_name th set_age, get_age ng set_gender, get_gender o Khác nhau: lớp Student, Lecture có bổ sung thêm các du thuộc tính và phương thức u cu Chương 5: Dẫn xuất/thừa kế và đa hình/đa xạ 9 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Person Quan hệ lớp name: string Lớp cơ sở age: int gender: string set_name om get_name .c set_age get_age ng set_gender get_gender co display Quan hệ dẫn xuất an Lớp dẫn xuất th ng Student Lecture o du class: string Faculty: string ID: int Telnumber: int u cu set_class set_faculty get_class get_faculty set_ID set_telnumber get_ID get_telnumber display display Chương 5: Dẫn xuất/thừa kế và đa hình/đa xạ 10 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Thực hiện (Lớp Person) //Khai báo lớp Person trong file person.h om #include #include .c using namespace std; ng class Person{ string name; co int age; an string gender; public: Person(string,int,string); th ng string get_name(); o void set_name(string); du int get_age(); void set_age(int); u cu string get_gender(); void set_gender(string); void display() }; Chương 5: Dẫn xuất/thừa kế và đa hình/đa xạ 11 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Thực hiện (Lớp Person) //Định nghĩa lớp Person trong file person.cpp #include “person.h” Person::Person(string _name,int _age, string _gender){ om name = _name; age = _age; .c sex = _gender; ng } string Person::get_name(){ return name;} co void Person::set_name(string _name){ name = _name;} an int Person::get_age(){ return age;} void Person::set_age(int _age){ age = _age;} th string Person::get_gender(){ return gender;} ng void Person::set_gender(string _gender){gender = _gender;} void Person::display(){ o cout
- Thực hiện (Lớp Student) //Khai báo lớp Student trong file student.h class Student: public Person om { .c string lop; int id; ng public: co Student(string, int, string, string,int); an void set_class(string c); th string get_class(); ng void set_id(int i); int get_id(); o du void display(); }; u cu Chương 5: Dẫn xuất/thừa kế và đa hình/đa xạ 13 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Thực hiện (Lớp Student) //Định nghĩa lớp Student trong file student.cpp om #include “student.h” Student::Student(string _n,int _a, string _g, string .c _l,int _id) ng :Person(_n,_a,_g){ lop = _l; co id = _id; an } th void Student:: set_class(string c){lop = c;} string Student:: get_class(){ return lop;} ng void Student:: set_id(int i){id = i;} o int Student:: get_id(){return id;} du void Student:: display(){ u Person::display(); cu cout
- Thực hiện (Lớp Lecture) om // Khai báo lớp Lecture trong file lecture.h class Lecture:public Person{ .c string faculty; ng int telnumber; public: co Lecture(string,int, string, string,int); an void set_faculty(string f); th string get_faculty(); void set_telnumber(int tel); ng int get_telnumber(); o void display(); du }; u cu Chương 5: Dẫn xuất/thừa kế và đa hình/đa xạ 15 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Thực hiện (Lớp Lecture) om //Định nghĩa lớp Lecture trong file lecture.cpp #include “lecture.h” .c Lecture::Lecture(string _n,int _a, string _g, string _f,int _t) ng :Person(_n,_a,_g){ faculty = _f; co telnumber = _t; an } void Lecture:: set_faculty(string f){faculty = f;} th string Lecture:: get_faculty(){ return faculty;} ng void Lecture:: set_telnumber(int tel){telnumber = tel;} int Lecture:: get_telnumber(){return telnumber;} o void Lecture:: display(){ du Person::display(); u cout
- Chương trình minh họa sử dụng 1 //Thực hiện trong file main.cpp #include #include “person.h” #include “student.h” om #include “lecture.h” void main(){ .c Person per("John",21,"man"); Student stu("Marry",22,"woman","Electronics1-K53",20080001); ng Lecture lec("Michel",22,"man","Electronics Engineering",123456789); cout
- Chương trình minh họa sử dụng 2 //Thực hiện trong file main.cpp void main(){ Person per("John",21,"man"); Student stu("Marry",22,"woman","Electronics1-K53",20080001); om Lecture lec("Michel",22,"man","Electronics Engineering",123456789); per.display(); stu.display(); .c lec.display(); } ng Kết quả chạy chương trình co an th o ng du u cu Chương 5: Dẫn xuất/thừa kế và đa hình/đa xạ 18 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Các dạng dẫn xuất/thừa kế om .c ng co an th o ng du u cu Chương 5: Dẫn xuất/thừa kế và đa hình/đa xạ 19 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Tóm lược Lớp dẫn xuất có hai mục đích cơ bản om – Mở rộng các tính năng của lớp cơ sở .c – Thừa hưởng các thuộc tính và phép toán của lớp cơ sở – Cụ thể hóa các phép toán qua những phương thức khác nhau ng Ưu điểm của cơ chế thừa hưởng co – Xây dựng một mô hình phần mềm hướng đối tượng dễ hiểu an th – Tiết kiệm được công việc thực hiện qua sử dụng lại các lớp cơ sở ng – Hạn chế lỗi qua cơ chế thừa hưởng o du u cu Chương 5: Dẫn xuất/thừa kế và đa hình/đa xạ 20 CuuDuongThanCong.com https://fb.com/tailieudientucntt
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Lập trình Web: Chương 5 - Ths. Trần Phi Hảo
32 p | 131 | 23
-
Bài giảng Cơ sở lập trình - Chương 5: Kiểu dữ liệu mảng
56 p | 169 | 21
-
Bài giảng Lập trình C++: Chương 5 - GV. Nguyễn Văn Hùng
57 p | 142 | 20
-
Bài giảng Lập trình Java cơ bản: Chương 5 Nhập xuất - GV. Võ Hoàng Phương Dung
19 p | 116 | 16
-
Bài giảng Lập trình hướng đối tượng - Chương 5: Kết nối cơ sở dữ liệu
38 p | 121 | 16
-
Bài giảng Lập trình C nâng cao - Chương 5: Lập trình tập tin
11 p | 120 | 12
-
Bài giảng Lập trình Window: Chương 5 - Phan Trọng Tiến
42 p | 109 | 11
-
Tập bài giảng Lập trình trên nền Web
281 p | 44 | 10
-
Tập bài giảng Lập trình hướng đối tượng
253 p | 54 | 10
-
Bài giảng Lập trình trên Windows: Chương 5.5 - Trần Minh Thái
47 p | 64 | 8
-
Tập bài giảng Lập trình Window
243 p | 55 | 6
-
Bài giảng Lập trình hướng đối tượng (Dùng C#): Chương 5 - Trần Minh Thái
12 p | 60 | 6
-
Bài giảng Lập trình căn bản: Chương 5 - ThS. Nguyễn Cao Trí
11 p | 98 | 6
-
Bài giảng Lập trình mạng - Chương 5: Lập trình Web - CGI
112 p | 76 | 5
-
Bài giảng Lập trình mạng - Chương 5: Lập trình với hệ thống web
41 p | 31 | 3
-
Bài giảng Lập trình hướng đối tượng - Chương 5: Tính đa hình
9 p | 67 | 3
-
Bài giảng Lập trình hướng đối tượng (Object-Oriented Programming) - Chương 1-5: Các lệnh điều khiển chương trình
30 p | 8 | 3
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn