GIÁO TRÌNH - MÔN HỌC LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG (LÊ THỊ MỸ HẠNH)

 


Lập trình hướng đối tượng (Object-Oriented Programming, viết tắt là OOP) là một phương pháp mới trên bước đường tiến hóa của việc lập trình máy tính, nhằm làm cho chương trình trở nên linh hoạt, tin cậy và dễ phát triển.



NỘI DUNG:


CHƯƠNG 1: GIỚI THIỆU VỀ LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG. 5


I. LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG (OOP) LÀ GÌ ? . 5


I.1. Lập trình tuyến tính . 5


I.2. Lập trình cấu trúc. 5


I.3. Sự trừu tượng hóa dữ liệu. 6


I.4. Lập trình hướng đối tượng . 6


II. MỘT SỐ KHÁI NIỆM MỚI TRONG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG. 8


II.1. Sự đóng gói (Encapsulation) . 8


II.2. Tính kế thừa (Inheritance) . 9


II.3. Tính đa hình (Polymorphism) . 10


III. CÁC NGÔN NGỮ VÀ VÀI ỨNG DỤNG CỦA OOP. 11


CHƯƠNG 2: CÁC MỞ RỘNG CỦA C++ . 12


I. LỊCH SỬ CỦA C++ . 12


II. CÁC MỞ RỘNG CỦA C++. 12


II.1. Các từ khóa mới của C++. 12


II.2. Cách ghi chú thích. 12


II.3. Dòng nhập/xuất chuẩn. 13


II.4. Cách chuyển đổi kiểu dữ liệu . 14


II.5. Vị trí khai báo biến. 14


II.6. Các biến const. 15


II.7. Về struct, union và enum. 16


II.8. Toán tử định phạm vi . 16


II.9. Toán tử new và delete. 17


II.10. Hàm inline . 23


II.11. Các giá trị tham số mặc định . 24


II.12. Phép tham chiếu . 25


II.13. Phép đa năng hóa (Overloading). 29


CHƯƠNG 3: LỚP VÀ ĐỐI TƯỢNG . 39


I. DẪN NHẬP. 39


II. CÀI ĐẶT MỘT KIỂU DO NGƯỜI DÙNG ĐỊNH NGHĨA VỚI MỘT STRUCT. 39


III. CÀI ĐẶT MỘT KIỂU DỮ LIỆU TRỪU TƯỢNG VỚI MỘT LỚP. 41


IV. PHẠM VI LỚP VÀ TRUY CẬP CÁC THÀNH VIÊN LỚP . 45


V. ĐIỀU KHIỂN TRUY CẬP TỚI CÁC THÀNH VIÊN . 47


VI. CÁC HÀM TRUY CẬP VÀ CÁC HÀM TIỆN ÍCH. 48


VII. KHỞI ĐỘNG CÁC ĐỐI TƯỢNG CỦA LỚP : CONSTRUCTOR. 49


VIII.SỬ DỤNG DESTRUCTOR. 51


IX. KHI NÀO CÁC CONSTRUTOR VÀ DESTRUCTOR ĐƯỢC GỌI ? . 53


X. SỬ DỤNG CÁC THÀNH VIÊN DỮ LIỆU VÀ CÁC HÀM THÀNH VIÊN . 54


XI. TRẢ VỀ MỘT THAM CHIẾU TỚI MỘT THÀNH VIÊN DỮ LIỆU PRIVATE. 57


XII. PHÉP GÁN BỞI TOÁN TỬ SAO CHÉP THÀNH VIÊN MẶC ĐỊNH . 59


XIII.CÁC ĐỐI TƯỢNG HẰNG VÀ CÁC HÀMTHÀNH VIÊN CONST. 60


XIV.LỚP NHƯ LÀ CÁC THÀNH VIÊN CỦA CÁC LỚP KHÁC . 64


XV. CÁC HÀM VÀ CÁC LỚP FRIEND. 67Giáo trình môn Lập trình hướng đối tượng Trang


3


XVI.CON TRỎ THIS . 68


XVII.CÁC ĐỐI TƯỢNG ĐƯỢC CẤP PHÁT ĐỘNG . 71


XVIII.CÁC THÀNH VIÊN TĨNH CỦA LỚP. 72


CHƯƠNG 4: ĐA NĂNG HÓA TOÁN TỬ. 76


I. DẪN NHẬP. 76


II. CÁC NGUYÊN TẮC CƠ BẢN CỦA ĐA NĂNG HÓA TOÁN TỬ. 76


III. CÁC GIỚI HẠN CỦA ĐA NĂNG HÓA TOÁN TỬ. 76


IV. CÁC HÀM TOÁN TỬ CÓ THỂ LÀ CÁC THÀNH VIÊN CỦA LỚP HOẶC


KHÔNG LÀ CÁC THÀNH VIÊN. 77


V. ĐA NĂNG HOÁ CÁC TOÁN TỬ HAI NGÔI . 80


VI. ĐA NĂNG HÓA CÁC TOÁN TỬ MỘT NGÔI . 87


VII. ĐA NĂNG HÓA MỘT SỐ TOÁN TỬ ĐẶC BIỆT . 90


VII.1.Toán tử [] . 91


VII.2.Toán tử () . 92


VIII.TOÁN TỬ CHUYỂN ĐỔI KIỂU. 94


IX. TOÁN TỬ NEW VÀ DELETE. 95


IX.1.Đa năng hóa toán tử new và delete toàn cục. 96


IX.2.Đa năng hóa toán tử new và delete cho một lớp . 97


X. ĐA NĂNG HÓA CÁC TOÁN TỬ CHÈN DÒNG << VÀ TRÍCH DÒNG >> . 98


XI. MỘT SỐ VÍ DỤ . 99


XI.1.Lớp String. 99


XI.2.Lớp Date. 103


CHƯƠNG 5: TÍNH KẾ THỪA. 107


I. DẪN NHẬP. 107


II. KẾ THỪA ĐƠN . 107


II.1.Các lớp cơ sở và các lớp dẫn xuất . 107


II.2.Các thành viên protected. 109


II.3.Ép kiểu các con trỏ lớp cơ sở tới các con trỏ lớp dẫn xuất. 109


II.4.Định nghĩa lại các thành viên lớp cơ sở trong một lớp dẫn xuất:. 113


II.5.Các lớp cơ sở public, protected và private. 113


II.6.Các contructor và destructor lớp dẫn xuất. 113


II.7.Chuyển đổi ngầm định đối tượng lớp dẫn xuất sang đối tượng lớp cơ sở. 116


III. ĐA KẾ THỪA (MULTIPLE INHERITANCE). 116


IV. CÁC LỚP CƠ SỞ ẢO (VIRTUAL BASE CLASSES) . 119


CHƯƠNG 6: TÍNH ĐA HÌNH . 122


I. DẪN NHẬP. 122


II. PHƯƠNG THỨC ẢO (VIRTUAL FUNCTION) . 122


III. LỚP TRỪU TƯỢNG (ABSTRACT CLASS) . 125


IV. CÁC THÀNH VIÊN ẢO CỦA MỘT LỚP. 127


IV.1.Toán tử ảo. 127


IV.2.Có constructor và destructor ảo hay không?. 129


CHƯƠNG 7: THIẾT KẾ CHƯƠNG TRÌNH THEO HƯỚNG ĐỐI TƯỢNG . 132


I. DẪN NHẬP. 132


II. CÁC GIAI ĐOẠN PHÁT TRIỂN HỆ THỐNG. 132


III. CÁCH TÌM LỚP . 133


IV. CÁC BƯỚC CẦN THIẾT ĐỂ THIẾT KẾ CHƯƠNG TRÌNH. 133


V. CÁC VÍ DỤ . 134Giáo trình môn Lập trình hướng đối tượng Trang


Biên soạn: Lê Thị Mỹ Hạnh


4


CHƯƠNG 8: CÁC DẠNG NHẬP/XUẤT. 143


I. DẪN NHẬP. 143


II. CÁC DÒNG(STREAMS) . 143


II.1.Các file header của thư viện iostream. 143


II.2.Các lớp và các đối tượng của dòng nhập/xuất. 144


III. DÒNG XUẤT. 145


III.1.Toán tử chèn dòng . 145


III.2.Nối các toán tử chèn dòng và trích dòng. 146


III.3.Xuất ký tự với hàm thành viên put(); Nối với nhau hàm put() . 147


IV. DÒNG NHẬP. 148


IV.1.Toán tử trích dòng:. 148


IV.2.Các hàm thành viên get() và getline() . 149


IV.3.Các hàm thành viên khác của istream . 151


IV.4.Nhập/xuất kiểu an toàn. 151


V. NHẬP/XUẤT KHÔNG ĐỊNH DẠNG VỚI READ(),GCOUNT() VÀ WRITE() 151


VI. DÒNG NHẬP/ XUẤT FILE . 152


VI.1.Nhập/xuất file văn bản . 154


CHƯƠNG 9: HÀM VÀ LỚP TEMPLATE. 159


I. CÁC HÀM TEMPLATE. 159


II. CÁC LớP TEMPLATE. 161





LINK DOWNLOAD

 


Lập trình hướng đối tượng (Object-Oriented Programming, viết tắt là OOP) là một phương pháp mới trên bước đường tiến hóa của việc lập trình máy tính, nhằm làm cho chương trình trở nên linh hoạt, tin cậy và dễ phát triển.



NỘI DUNG:


CHƯƠNG 1: GIỚI THIỆU VỀ LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG. 5


I. LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG (OOP) LÀ GÌ ? . 5


I.1. Lập trình tuyến tính . 5


I.2. Lập trình cấu trúc. 5


I.3. Sự trừu tượng hóa dữ liệu. 6


I.4. Lập trình hướng đối tượng . 6


II. MỘT SỐ KHÁI NIỆM MỚI TRONG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG. 8


II.1. Sự đóng gói (Encapsulation) . 8


II.2. Tính kế thừa (Inheritance) . 9


II.3. Tính đa hình (Polymorphism) . 10


III. CÁC NGÔN NGỮ VÀ VÀI ỨNG DỤNG CỦA OOP. 11


CHƯƠNG 2: CÁC MỞ RỘNG CỦA C++ . 12


I. LỊCH SỬ CỦA C++ . 12


II. CÁC MỞ RỘNG CỦA C++. 12


II.1. Các từ khóa mới của C++. 12


II.2. Cách ghi chú thích. 12


II.3. Dòng nhập/xuất chuẩn. 13


II.4. Cách chuyển đổi kiểu dữ liệu . 14


II.5. Vị trí khai báo biến. 14


II.6. Các biến const. 15


II.7. Về struct, union và enum. 16


II.8. Toán tử định phạm vi . 16


II.9. Toán tử new và delete. 17


II.10. Hàm inline . 23


II.11. Các giá trị tham số mặc định . 24


II.12. Phép tham chiếu . 25


II.13. Phép đa năng hóa (Overloading). 29


CHƯƠNG 3: LỚP VÀ ĐỐI TƯỢNG . 39


I. DẪN NHẬP. 39


II. CÀI ĐẶT MỘT KIỂU DO NGƯỜI DÙNG ĐỊNH NGHĨA VỚI MỘT STRUCT. 39


III. CÀI ĐẶT MỘT KIỂU DỮ LIỆU TRỪU TƯỢNG VỚI MỘT LỚP. 41


IV. PHẠM VI LỚP VÀ TRUY CẬP CÁC THÀNH VIÊN LỚP . 45


V. ĐIỀU KHIỂN TRUY CẬP TỚI CÁC THÀNH VIÊN . 47


VI. CÁC HÀM TRUY CẬP VÀ CÁC HÀM TIỆN ÍCH. 48


VII. KHỞI ĐỘNG CÁC ĐỐI TƯỢNG CỦA LỚP : CONSTRUCTOR. 49


VIII.SỬ DỤNG DESTRUCTOR. 51


IX. KHI NÀO CÁC CONSTRUTOR VÀ DESTRUCTOR ĐƯỢC GỌI ? . 53


X. SỬ DỤNG CÁC THÀNH VIÊN DỮ LIỆU VÀ CÁC HÀM THÀNH VIÊN . 54


XI. TRẢ VỀ MỘT THAM CHIẾU TỚI MỘT THÀNH VIÊN DỮ LIỆU PRIVATE. 57


XII. PHÉP GÁN BỞI TOÁN TỬ SAO CHÉP THÀNH VIÊN MẶC ĐỊNH . 59


XIII.CÁC ĐỐI TƯỢNG HẰNG VÀ CÁC HÀMTHÀNH VIÊN CONST. 60


XIV.LỚP NHƯ LÀ CÁC THÀNH VIÊN CỦA CÁC LỚP KHÁC . 64


XV. CÁC HÀM VÀ CÁC LỚP FRIEND. 67Giáo trình môn Lập trình hướng đối tượng Trang


3


XVI.CON TRỎ THIS . 68


XVII.CÁC ĐỐI TƯỢNG ĐƯỢC CẤP PHÁT ĐỘNG . 71


XVIII.CÁC THÀNH VIÊN TĨNH CỦA LỚP. 72


CHƯƠNG 4: ĐA NĂNG HÓA TOÁN TỬ. 76


I. DẪN NHẬP. 76


II. CÁC NGUYÊN TẮC CƠ BẢN CỦA ĐA NĂNG HÓA TOÁN TỬ. 76


III. CÁC GIỚI HẠN CỦA ĐA NĂNG HÓA TOÁN TỬ. 76


IV. CÁC HÀM TOÁN TỬ CÓ THỂ LÀ CÁC THÀNH VIÊN CỦA LỚP HOẶC


KHÔNG LÀ CÁC THÀNH VIÊN. 77


V. ĐA NĂNG HOÁ CÁC TOÁN TỬ HAI NGÔI . 80


VI. ĐA NĂNG HÓA CÁC TOÁN TỬ MỘT NGÔI . 87


VII. ĐA NĂNG HÓA MỘT SỐ TOÁN TỬ ĐẶC BIỆT . 90


VII.1.Toán tử [] . 91


VII.2.Toán tử () . 92


VIII.TOÁN TỬ CHUYỂN ĐỔI KIỂU. 94


IX. TOÁN TỬ NEW VÀ DELETE. 95


IX.1.Đa năng hóa toán tử new và delete toàn cục. 96


IX.2.Đa năng hóa toán tử new và delete cho một lớp . 97


X. ĐA NĂNG HÓA CÁC TOÁN TỬ CHÈN DÒNG << VÀ TRÍCH DÒNG >> . 98


XI. MỘT SỐ VÍ DỤ . 99


XI.1.Lớp String. 99


XI.2.Lớp Date. 103


CHƯƠNG 5: TÍNH KẾ THỪA. 107


I. DẪN NHẬP. 107


II. KẾ THỪA ĐƠN . 107


II.1.Các lớp cơ sở và các lớp dẫn xuất . 107


II.2.Các thành viên protected. 109


II.3.Ép kiểu các con trỏ lớp cơ sở tới các con trỏ lớp dẫn xuất. 109


II.4.Định nghĩa lại các thành viên lớp cơ sở trong một lớp dẫn xuất:. 113


II.5.Các lớp cơ sở public, protected và private. 113


II.6.Các contructor và destructor lớp dẫn xuất. 113


II.7.Chuyển đổi ngầm định đối tượng lớp dẫn xuất sang đối tượng lớp cơ sở. 116


III. ĐA KẾ THỪA (MULTIPLE INHERITANCE). 116


IV. CÁC LỚP CƠ SỞ ẢO (VIRTUAL BASE CLASSES) . 119


CHƯƠNG 6: TÍNH ĐA HÌNH . 122


I. DẪN NHẬP. 122


II. PHƯƠNG THỨC ẢO (VIRTUAL FUNCTION) . 122


III. LỚP TRỪU TƯỢNG (ABSTRACT CLASS) . 125


IV. CÁC THÀNH VIÊN ẢO CỦA MỘT LỚP. 127


IV.1.Toán tử ảo. 127


IV.2.Có constructor và destructor ảo hay không?. 129


CHƯƠNG 7: THIẾT KẾ CHƯƠNG TRÌNH THEO HƯỚNG ĐỐI TƯỢNG . 132


I. DẪN NHẬP. 132


II. CÁC GIAI ĐOẠN PHÁT TRIỂN HỆ THỐNG. 132


III. CÁCH TÌM LỚP . 133


IV. CÁC BƯỚC CẦN THIẾT ĐỂ THIẾT KẾ CHƯƠNG TRÌNH. 133


V. CÁC VÍ DỤ . 134Giáo trình môn Lập trình hướng đối tượng Trang


Biên soạn: Lê Thị Mỹ Hạnh


4


CHƯƠNG 8: CÁC DẠNG NHẬP/XUẤT. 143


I. DẪN NHẬP. 143


II. CÁC DÒNG(STREAMS) . 143


II.1.Các file header của thư viện iostream. 143


II.2.Các lớp và các đối tượng của dòng nhập/xuất. 144


III. DÒNG XUẤT. 145


III.1.Toán tử chèn dòng . 145


III.2.Nối các toán tử chèn dòng và trích dòng. 146


III.3.Xuất ký tự với hàm thành viên put(); Nối với nhau hàm put() . 147


IV. DÒNG NHẬP. 148


IV.1.Toán tử trích dòng:. 148


IV.2.Các hàm thành viên get() và getline() . 149


IV.3.Các hàm thành viên khác của istream . 151


IV.4.Nhập/xuất kiểu an toàn. 151


V. NHẬP/XUẤT KHÔNG ĐỊNH DẠNG VỚI READ(),GCOUNT() VÀ WRITE() 151


VI. DÒNG NHẬP/ XUẤT FILE . 152


VI.1.Nhập/xuất file văn bản . 154


CHƯƠNG 9: HÀM VÀ LỚP TEMPLATE. 159


I. CÁC HÀM TEMPLATE. 159


II. CÁC LớP TEMPLATE. 161





LINK DOWNLOAD

M_tả
M_tả

Không có nhận xét nào: