Giáo trình kỹ thuật lập trình hướng đối tượng bằng c++ phần 1

143 3 0
Giáo trình kỹ thuật lập trình hướng đối tượng bằng c++ phần 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

phản TRÌNH 1S iN TIIUT LẬP CAAT alu eat) I[lllllt NGUYEN TUAN ANH GIAO TRINH T RUN OI TVW BAG C++ LAP TRINH Kf THUA NG TRUONG CAO DE CONG NGHE & KINH TE HA NOI | THU VIEN NHA XUAT BAN GIAO DUC VIET NAM MUC LUC Trang lo Ðoii›\WECáãẳảảÝŸẢŸ3äẳŸẢäỶŸ3äẳäẳễäÝŸÝÃÝỶ Chuong KHÁI NIỆM VỀ LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG 1.1 1.2 Ý TƯỞNG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG 0c srre PHÂN BIỆT PHƯƠNG PHÁP LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG VỚI PHƯƠNG PHAP LẬP TRÌNH THEO KIỂU CẤU TRÚC 1.2.1 Phương pháp lập trình hướng thủ tục - POP 1.2.3 Mục tiêu lập trình hướng đối tượng 1.2.2 Phương pháp lập trình hướng đối tượng - OOP 1.3 TƯ DUY HƯỚNG ĐỐI TƯỢNG 1.4 ĐẶC BIEM CUA LAP TRINH HUONG ĐỐI TƯỢNG 1.4.1 Tính đóng kín 1.4.2 Tính kế thừa 1.4.3 Tính đa hình CÂU HỎI VÀ BÀI TẬP .Ặ 2022 12.2212 HH mg ri Chương LẬP TRÌNH C VA C++ 2.1 0e 242 NHẬP, XUẤT DỮ LIỆU MOT SO PHUONG THUC - HAM NHAP, XUAT 2.43 24 2.5 2.2.1 Phương thức getline () 2.2.2 Định dạng khí in lên hình 27 2.8 19 : e9) 2/1 0/0 -.-.a DIA CHÍ CỦA BIẾN VÀ CON TRỎ 2.5.1 2.5.2 2.6 eo me 00 Địa biến Con trỏ 2.6021 9›e can sẻ CƠ CHẾ HOẠT ĐỘNG KHI GỌI HÀM TRONG C€ VÀ C++ THAM CHIẾU 2.8.1 2.8.2 2.8.3 2.8.4 Định nghĩa tham chiếu Khai báo tham chiếu Địa đối tượng tham ch Truyền tham chiếu cho hàm 2.9 HÀM TRONG Khai báo nguyên mẫu hàm C++ 2.9.3 Hàm có giá trị ngầm định 2.9.2 2.10 C++ 2.9.1 Hàm có đối tham chiếu hàm trả tham chiếu NẠP CHỒNG HÀM 2.10.1 Khải niệm nạp chồng hàm 2.10.2 Sử dụng nạp chồng hàm nào? 2.10.3 Lay dia hàm trùng tên 2.11 HÀM inlin@ HH HH HH Hee Chương LỚP VÀ ĐỐI TƯỢNG 3.1 3.2 3.3 34 LỚP XÂY CÁC HAM 3.4.1 3.4.2 3.4.3 3.4.4 3.4.5 3.5 3.6 3.7 VÀ ĐỐI TƯỢNG 0Q 201201122 eerree DỰNG LỚP VÀ KHAI BÁO BIẾN LÀ ĐỐI TƯỢNG THUỘC TÍNH private VÀ pub1ie CỦA LỚP TAO VA HAM HUY Ham tao Đặc điểm hàm tạo Sự khác hàm tạo phương thức lớp Hàm huỷ Nhận xét chung hàm tạo hàm huỷ 3.7.1 Tạo tính linh hoạt khai báo biến đối tượng 3.7.3 cho đối tượng giá trị đối tượng khác Hỗ trợ khởi tạo đối tượng mảng giá trị 3.7.2 Xây dựng hàm tạo chép để thực khởi tạo gán giá trị 3.8 NẠP CHỒNG 3.9 CÁC THÀNH PHẦN TĨNH PHƯƠNG THỨC CỦA LỚP 3.9.1 Khái niệm thành phần tĩnh 3.9.3 Phương thức fĩnh lớp 3.9.2 3.10 CON TRO this ve DOI TUONG LA THAM S6 CUA PHUONG THUG oeecccccscsccsccsceseesscesesees NAP CHONG HAM TAO Khai báo khởi tạo giá trị cho thành phần tĩnh HÀM BẠN VÀ LỚP BẠN 3.10.1 Hàm tự bạn lớp 3.10.2 Hàm tự bạn nhiều lớp 3.10.3 Phương thức lớp bạn lớp khác 3.10.4 Tất phương thức lớp bạn lớp khác 3.11 MẢNG CÁC ĐỐI TƯỢNG CAU HOI VA BAI TAP Chương NẠP CHỒNG TOÁN TỬ TRÊN LỚP, THAM CHIẾU VÀ CON TRỎ ĐẾN ĐỐI TƯỢNG 4.1 42 4.3 44 45 46 47 NẠP CHỒNG TOÁN TỬ TRÊN LỚP c 119 LỚP XÂU KÝ TỰ VÀ NẠP CHỒNG PHÉP TOÁN "+" ĐỂ GHÉP HAI XÂU 128 NẠP CHỒNG TOÁN TỬ NHẬP, XUẤT DU LIỆU CHO MỘT ĐỐI TƯỢNG 130 132 CON TRO DEN DOI TUONG seston KHAI BAO THAM CHIEU ĐẾN ĐỐI TƯỢNG TRUYỀN THAM CHIEU CHO HAM oo ccccccceeeeseereneressteseseeneaneenenes DANH SÁCH LIÊN KẾT CÁC ĐỐI TƯỢNG CÂU HOLVA BAL TAP Chương KỸ THUẬT KẾ THỪA 5.1 5.2 LỢI ÍCH CỦA VIỆC KẾ THỪA 22.22nhrrerdrrrrrrree 146 TÍNH KẾ THỪA 5.2.1 5.2.2 5.2.3 Lớp kế thừa Cách xây dựng lớp kế thừa Kế thừa private, “ pub1ic thuệc tính protected 5.3 ĐƠN KẾ THỪA ìcceerree 5.4 HÀM TẠO LỚP KẾ THỪA VÀ HÀM TẠO LỚP CƠ SỞ THỨ TỰ GỌI HÀM TẠO CỦA LỚP CƠ SỞ VÀ LỚP KẾ THỪA 5.6 HAM TẠO SAO CHÉP CỦA LỚP CƠ SỞ 5.7 ĐA KẾ THỪA ri CÂU HỎI VÀ BÀI TẬP 5.5 148 157 Chương6 TÍNH ĐA HÌNH 6.1 6.2 PHƯƠNG THỨC ẢO VÀ TÍNH ĐA HÌNH LIEN KET MUON (Late binding) HAY LIEN KET DONG (DyNAMic DINING) 6.3 6.4 6.5 6.6 ˆ_ CÂU «0 cee ee eee rete cette terete eee 183 183 LỚP CƠ SỞ ẢO VÀ PHƯƠNG THỨC AO THUẦN TÚY THAM CHIẾU LỚP KẾ THỪA VÀ THAM CHIẾU LỚP CƠ SỞ LOP CO SGAO ooocccccceccceccesvsvercsssssevstsssesteseseseseseseecesasetenseevensueeteeiss HÀM TẠO, HÀM HUỶ VÀ LỚP CƠ SỞ ẢO ìàiree - re 2n HH2 HỎI VÀ BÀI TẬP 186 188 195 199 Chuong KHUÔN MẪU VÀ XỬ LÝ NGOẠI LỆ 7.1 KHUÔN MẪU HÀM 7.2 KHUÔN 7.1.1 7.1.2 7.1.3 7.1.4 7.1.5 7.1.8 7.1.7 7.1.8 7.2.1 7.2.2 7.2.3 7.2.4 743 74 MẪU LỚP Khái niệm khuôn mẫu Sử dụng khuôn mẫu lớp Các tham số khuôn mẫu lới Các tham số biểu thức khn mẫu lớp KHN MẪU LỚP CHO DANH SÁCH CÁC PHẦN TỪ CÓ KIỂU CẤU TRÚC ›.220 KHUÔN MẪU VÀ CÁC KIỂU BAN BE 7.4.1 Khai bao cac lớp bạn, hàm bạn 7.4.2 7.4.3 7.5 Khái niệm khuôn mẫu Tạo khuôn mẫu hàm Sử dụng khuôn mẫu hàm Khuôn mẫu hàm xếp Ví dụ tìm kiếm Các tham số kiểu khuôn mẫu hàm Khởi tạo biến có kiểu chuẩn Nạp chồng khn mẫu hàm Khai báo bạn khuôn mẫu lớp Khai báo bạn bè khuôn mẫu hàm khuôn mẫu lớp XỬ LÝ NGOẠI LỆ - EXCEPTION 22.222 221211222115E 22t 225 CÂU HỎI VÀ BÀI TẬP L0 2e 227 Chương TEP TIN TRONG C++ 8.1 8.2 8.3 84 8.5 8.6 87 8.8 8.9 DOC DU LIEU TU TEP DUNG LOP ifstream BOC VA GHi DU LIEU DONG THỜI LÊN TEP DI CHUYEN CON TRO TEP NHAP, XUAT KIEU NHI PHAN NHẬP, XUẤT KIỂU VĂN BAN CÂU HỎI VÀ BÀI TẬP PHÙ LỤC Q.2 20 are reo Loi noi aa Phương pháp lập trình cấu trúc phương pháp tổ chức phân chia chương Irình thành hàm, thủ tục đơn giản thực làm mịn dân theo hướng từ xuống (Top-down), chúng dùng để xử lý liệu nhằm giải mộ( số cơng việc cụ thể Người lập trình sử dụng ngơn ngữ lập trình nhụ Pascal C để viết chương trình Với phương thức truyền thống khơng đáp ứng tốn lớn, chương trình phức tạp với liệu lớn; phương pháp lập trình hướng đối tượng đời Lập trình hướng đối tượng (Object Orienmed Programming ~ OOP) phương pháp bước đường tiến hố việc lập trình máy tính, làm cho chương trình trở nên linh hoạt, tin cậy dễ phát triển Bước OOP xác định tất đối tượng muốn thao tác làm để xác định yếu tố liên quan chúng Phương pháp OOP tập trung chủ yếu vào liệu Các khái niệm quy tắc sử dụng lập trình hướng đối tượng cung cấp lợi ích quan trọng tính chất đóng gói đữ liệu — Encapsulation (dữ liệu bảo vệ), tính kế thừa — Inheritance (xây dựng lớp từ lớp có sẵn) tính đa hình — Polymorphism Lập trình hướng đối tượng cánh mở cho tất muốn làm phân mêm ngơn ngữ lập trình theo hướng đối tượng, có mã lệnh mở rộng C C++ ngơn ngữ lập trình Visual C++6.0, Visual C++.Net, Visual C#.Net va Java Giáo trình biên soạn dựa kinh nghiệm giảng dạy mơn "Kỹ thuật lập trình hướng đối tượng C++" tác giả nhiều năm số trường Cao đẳng Đại học Trong giáo trình tác giả cố gắng trình bày cách tỷ mỷ, có dẫn dắt người đọc sâu tùm hiểu mục đích chủ dé, sau thực viết chương trình máy tính để kiểm tra đánh giá kết Giáo trình biên soạn Kỹ thuật lập trình hướng đối tượng C++ cho sinh viên ngành Công nghệ thông tin cho di quan tâm đến phương pháp lập trình hướng đối tượng để phát triển ứng dụng độc lập với môi trường, hay để xây dựng ứng dụng thực tế Tác giả bày tỏ lòng biết ơn chân thành tới PGS TS Nguyễn Trường Xuân, Ths GVC Hoàng Kim Bảng (Đại học Mỏ ~ địa chất), PGS TS Đặng Văn Đức (Viện Công nghệ Thông tin), GS Phạm Văn At (Khoa Công nghệ thông tin — Đại học Giao thông vận tải) bạn đồng nghiệp nhiệt tình dìu đắt, bảo, động viên đóng góp ý kiến quý báu để tác giả hồn thành giáo trình Mặc dù cố gắng nhiều, khó tránh khối thiếu sót, chúng tơi mong nhận ý kiến đóng góp bạn đọc để giáo trình ngày tốt Thư góp ý xin gửi Cơng ty Cổ phần Sách Đại học — Dạy nghề, Nhà xuất Giáo dục Việt Nam, 25 Hàn Thuyên, Hà Nội Xin chân thành cảm ơn! TÁC GIẢ Chuong KHAI NIEM VE LAP TRINH HUONG DOI TUONG 1.1 Ý TƯỞNG LẬP TRÌNH HƯỚNG ĐỐI TUONG Lần ý tưởng lập trình theo hướng đối tượng đưa ngôn ngữ lập trình đồng thời mơi trường lập trình đo Xerox PARC phat trién vào năm 1968, ngơn ngữ lập trình Smalltalk Song, phiên Smalltalk-8.0 khái mệm lập trình hướng đối tượng hình thành rõ rệt hỗ trợ hồn tồn Bên canh Smalltalk, ngơn ngữ hướng đối tượng khác EIffel, Pascal, C++, Delphi, Java C# đời, phát triển từ đầu, tiến hố từ ngơn ngữ có sẵn Hình 1.1 mơ hình tiến hố ngơn ngữ lập trình từ ngơn ngữ lập trình khơng hướng đối tượng (được ghi tên hình chữ nhật có viên đơn) đến ngơn ngữ lập trình hướng đối tượng (được ghi tên hình chữ nhật có nét viền kép góc trịn) Khái niệm hướng đối tượng xây đựng tảng khái niệm lập trình có cấu trúc trừu tượng hố đữ liệu: thay đối chỗ, chương trình hướng đối tượng thiết kế xoay quanh liệu mà làm việc đó, theo thân chức chương trình Điều nói lên rằng, lập trình hướng đối tượng có khai báo lớp thay khai báo kiểu liệu có cấu trúc, lớp có thuộc tính trường kiểu liệu có cấu trúc có thêm phương thức hay gọi hành vi đối tượng thuộc lớp khai báo 'Trừu tượng hố (hay cịn gọi trừu xuất) nguyên lý nhận thức; tức nhận thức mội vật tượng đó, ta tạm thời quên hay lờ tiết có tác dụng khơng có tác dụng đến vật tượng này, nhờ hình thành diễn tả đơn giản hoá dễ hiểu Với cách nhận thức cho phép hiểu vật tượng xét theo chất Ví dụ, động vật sống cạn thường vật có chân, đầu, mắt, mũi nói đến lồi voi ta tạm thời lờ yêu tố mà vật khác có, mà tập trung vào đặc điểm bật để phân biệt voi với vật khác đầu to, có vịi, ngà có hai tai to Cobo! 1960 Smalltalk-72 Simula 1970 Smalltalk-76 Smalltalk-78 1980 Smaiitalk-80 1990 ObjectCobol Visual C++ Visual basic Visual C#,Net Ngôn ngữ lập trình hướng đối tượng Ngơn ngữ lập trình khơng hướng đối tượng ` `————————— ———— Y Hình 1.1 Mơ hình tiến hố ngơn ngữ lập trình Lập trình hướng đối tượng (Object Oriented Programming - OOPF) hay tiết lập trình định hướng đối tượng phương pháp lập trình lấy đối tượng làm thuật giải) xây dựng đối tượng với nhau, thông điệp (các mũi tên) trung tâm để xây dựng phương thức (thay cho chương trình Hình 1.2 minh hoạ mối quan hệ chúng trao đổi thông tin với thông qua liên hệ đối tượng với đối tượng phương thức Đối tượng B Đối tượng C Các phương thức Các phương thức Hình 1.2 OOP 10 lấy đối tượng làm trung tâm ... HƯỚNG ĐỐI TƯỢNG 1. 1 1. 2 Ý TƯỞNG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG 0c srre PHÂN BIỆT PHƯƠNG PHÁP LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG VỚI PHƯƠNG PHAP LẬP TRÌNH THEO KIỂU CẤU TRÚC 1. 2 .1 Phương pháp lập trình hướng. .. tục - POP 1. 2.3 Mục tiêu lập trình hướng đối tượng 1. 2.2 Phương pháp lập trình hướng đối tượng - OOP 1. 3 TƯ DUY HƯỚNG ĐỐI TƯỢNG 1. 4 ĐẶC BIEM CUA LAP TRINH HUONG ĐỐI TƯỢNG 1. 4 .1 Tính đóng... \ 1. 2 Chức 2 .1 Chức Chức N 2.2 iN Hình 1. 3 Mơ hình phân rã chức theo phương pháp lập trình có cấu trúc 11 1. 2.2 Phương pháp lập trình hướng đối tượng - OOP Phương pháp lập trình hướng đối tượng

Ngày đăng: 24/01/2022, 10:54

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan