1. Trang chủ
  2. » Luận Văn - Báo Cáo

Giáo trình Kỹ thuật lập trình hướng đối tượng: Phần 1

112 1 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 112
Dung lượng 5,35 MB

Nội dung

[ RƯỜNG ĐẠI HỌC HỪNG VƯƠNG TS PHẠM THẾ QUẾ (CHỦ BIÊN) - ThS ĐINH THÁI SƠN ThS NGUYỄN ĐÌNH NHƯ - ThS vũ THỊ THU MINH - ThS NÔNG THỊ LÝ GIÁO TRÌNH u W lặap trìn h BD ỊTnPđói tư ợ n g 1" Sách tặng NGUYỄN Ọ C L iệ u NHÀ XUẤT BẢN ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC HÙNG VƯƠNG TS Phạm Thế Quế (Chủ biên) - ThS Đinh Thái Son ThS Nguyễn Đình Nhu' - ThS Vũ Thị Thu Minh - ThS Nông Thị Lý (G iá o TRÌNH KỸ THUẬT LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG NHÀ XUÁT BẢN ĐẠI HỌC THÁI NGUYÊN NĂM 2017 02-49 Đ H T N -2017 LỜI MỞ ĐÀU Lập trinh cấu trúc phương pháp tổ chức, phân chia chương trinh thành hàm, thủ tục, chúng dùng để xừ lý liệu lại tách rời cấu trúc liệu Thông qua ngôn ngữ Foxpro, Pascal, c đa số làm Tin học quen biết với phương pháp lập trình Lập trình hướng đối tượng dựa việc tổ chức chương trinh thành lớp Khác với hàm thủ tục, lớp đơn vị bao gồm cà liệu phương thức xử lý Vì lớp mơ tả thực thể cách chân thực, đầy đủ phẩn liệu yêu cầu quản lý Tư tường lập trinh hướng đối tượng áp dựng cho hầu hết ngôn ngữ chạy môi trường Windows Unix Visual C++, Visual c#, PHP, Java Ngơn ngữ lập trình c đời năm 1973 với mục đích ban đầu để viết hệ điều hành Unix máy tính mini PDP Sau c sừ dụng rộng rãi nhiều loại máy tính khác trờ thành ngơn ngữ lập trình cấu trúc ưa chuộng Để đưa ngôn ngũ c vào giới hướng đối tượng, năm 1980 nhà khoa học người Mỹ B.Stroustrup cho đời ngơn ngữ c có tên ban đầu “C có lớp”, sau đen năm 1983 gọi c++ Ngơn ngữ c++ phát triển mạnh mẽ c Trong c++ đưa vào tất khái niệm, công cụ lập trình hướng đơi tượng mà cịn đưa vào nhiêu khả mẻ cho hàm Như c+ + ngôn ngữ lai cho phép tổ chức chương trinh theo lớp hàm Có thể nói c++ thúc đẩy ngơn ngữ c vốn thuyết phục vào giới lập trình hướng đối tượng c+ + trở thành ngôn ngữ hướng đối tượng bật năm 90 Trong năm gần đây, lập trinh hướng đối tượng trỡ nên gần gũi nhờ đời liên tiếp ngơn ngữ lập trình hướng đổi tuợng Sức mạnh phương pháp lập trình hướng đối tượng thể chỗ khả mơ hỉnh hóa hệ thống dựa đối tuợng thực tế, khả đóng gói bảo vệ an tồn liệu, khả nâng sử dụng lại mã nguồn để tiếp cận chi phí tài nguyên, đặc biệt khả nâng chia sẻ mã nguồn cộng đồng lập trình viên chuyên nghiệp Những điểm mạnh hứa hẹn thúc đẩy phát triển mơi trường lập trình tiên tiến với công nghiệp lap ráp phần mềm với thư viện thành phần có sẵn Giáo trình K ỹ thuật lập trình hướng đói tượng biên soạn phục vụ mơn học Lập trình hướng đối tượng (3 tín chỉ), dành cho đối tượng sinh viên năm thứ năm thứ trường Nhóm tác giả hi vọng giáo trình cung cấp cách tiếp cận tổng thể phương pháp lập trình hướng đối tượng đồng thời cung cấp kỹ thuật phát triển ứng dụng ngôn ngữ lập trinh C++, ngơn ngữ lập trình hướng đối tượng sử dụng thông dụng Giáo trinh kết tổng hợp kiến thức kinh nghiệm giảng dạy nhiều năm thầy trường Đại học Hùng Vương lập trình hướng đối tượng Mặc dù cố gắng, song chắn giáo trình khơng thể tránh khỏi thiếu sót, nhóm tác giả mong nhận ý kiến đóng góp, trao đổi nhà khoa học, đồng nghiệp độc giả để sách ngày hồn thiện Mọi góp ý xin gửi về: Bộ môn Công nghệ phần mềm - Khoa Kỹ thuật công nghệ - Trường Đại học Hùng Vưcmg Xin trân Ưọng cảm ơn ỉ CÁC TÁC GIẢ MỤC LỤC CHƯƠNG CÁC KHÁI NIỆM c SỞ CỦA LẬP TRÌNH HƯỚNG ĐĨI TƯỢNG 1 Giới thiệu 10 1.1.1 Tiếp cận hướng đối tượng 10 1.1.2 Những nhược điểm lập trinh hướng thu t ụ c 10 1.1.3 Đặc điểm lập trinh hướng đối tượng 11 1.2 Các khái niệm bảncủa lập trình hướng đối tượng 12 1.2.1 Đối tượng 12 1.2.2 Lớp 12 1.2.3 Trừu tượng hóa liệu bao gói thơng tin 13 1.2.4 Kế thừa 14 1.2.5 Tương ứng bội 15 1.2.6 I.iên kết động 16 1.2.7 Truyền thông báo 16 1.3 Các bước cần thiết để thiết kế chương trinhtheo hướng đối tượng 17 1.4 Các ưu điểm lập trình hướng đối tượng 17 1.5 Các ngôn ngữ hướng đối tượng 18 1.6 Một số ứng dụng cua LTHĐT .20 CHƯƠNG CÁC MỜ RỘNG CỦA NGÔN NGỮ C++ 21 2.1 Giới thiệu chung C++ 21 2.2 Một số mờ rộng C++ so với c 22 2.2.1 Đặt lời chu thích 22 2.2.2 Khai báo biến 22 2.2.3 Phép chuyển kiểu bắt buộc 23 2.2.4 Lấy địa phần tử mảng thực chiều 24 2.3 Vào c — 26 2.3.1 Xuất liê u 26 2.3.2 Nhập liệ u 26 2.3.3 Định dạng in hình 27 2.4 Cấp phát giải phóng nhớ 31 2.4.1 Toán từ new để cấp phátbộ nhớ 31 2.4.2 Toán tử delete .32 2.5 Biển tham chiếu 34 2.6 Hăng tham chiếu 35 2.7 Truyền tham số cho hàm theo tham chiếu 36 2.8 Hàm trả giá trị tham chiếu 43 2.9 Hàm với tham số có giá trị mặc đ ịn h 45 2.10 Các hàm nội tuyến (inline) 47 2.11 Hàm tái b ộ i 51 CHƯƠNG L Ớ P 58 Định nghĩa lớp 59 Tao lập đối tư ợng 60 3.3 Truy nhập tới thành phần lớ p 61 Con trò đối tư ợng 69 3.5 Con Ưỏ th is 71 Hàm b n 73 3.7 Dữ liệu thành phần tĩnh hàmthánh phần tĩn h 80 3.7.1 Dữ liệu thành phần tĩn h 80 3.7.2 Hàm thành phẩn tĩnh 83 3.8 Hàm tao (constructor) 86 3.9 Hàm tạo ch ép 95 3.9.1 Hàm tạo chép mặc định 95 3.9.2 Hàm tạo chép 98 3.10 Hàm hủy (destructor) 105 CHƯƠNG TỐN TỬ TẢI BỘI 111 4.1 Định nghĩa tốn tử tải bội 111 4.2 Một số lưu ý xây dựng toán tử tải b ộ i 112 4.3 Một số vi dụ 112 4.4 Định nghĩa chồng toán tử ++ , - - 124 4.5 Định nghĩa chồng tốn tử « » CHƯƠNG KÉ THỪA 128 131 5.1 Giởi thiệu 131 5.2 Đơn kế th a 132 5.2.1 Định nghĩa lơp dẫn xuất từ lớp s 132 5.2.2 Truy nhập thành phần lớp dẫn x u ấ t 133 5.2.3 Định nghĩa lại hàm thành phẩn lớp sờ lớp dẫn xuất 134 5.2.4 Hàm tạo tính kế thưa 140 5.2.5 Hàm hủy tính kế thừa 143 5.2.6 Khai báo protected 144 5.2.7 Dần xuất protected 145 5.3 Da kể thừa 145 5.3.1 Định nghĩa lóp dẫn xuất tị nhiều lớp sờ 145 5.3.2 Một số ví dụ đa kể thừa 146 5.4 Hàm o 155 5.4.1 Đặt vấn đề 155 5.4.2 Định nghĩa hàm áo 158 5.4.3 Quy tấc gọi hàm o 161 5.4.4 Quy tắc gán địa chi đối tượngcho trỏ lớp sờ 161 5.5 Lớp sờ ả o 166 5.5.1 Khai báo lớp sờ ả o 166 5.5.2 Hàm tạo hàm hủy lớp sờ ả o 169 CHƯƠNG KHUÔN HÌNH 177 6.1 Khn hình hàm 177 6.1.1 Khái niệm 177 6.1.2 Tạo khn hình hàm 177 6.1.3 Sử dụng khn hình hàm 179 6.1.4 Các tham số kiểu khuôn hinh h m 179 6.1.5 Định nghĩa chồng khn hình h m 182 6.2 Khn hình lớp 183 6.2.1 Khái niệm 183 6.2.2 Tạo khn hình lớp 184 6.2.3 Sử dung khuôn hinh lớp 185 Các tham số khn hình lớp 186 Tom tãt 187 PHỤ LỤC CÁC DÒNG XUÁT NHẬP 189 1.1 Các lớp stream 189 1.2 Dòng cin toán tử nhập » 190 Dỏng cin 190 1.2.2 Tốn tử trích » 190 1.3 Nhập ký tự chuỗi ký t ự 190 1.3.1 Phương thức get() có dạng: 190 1.3.2 Phương thức getline() 192 1.3.3 Phương thức ignore 193 1.4 Dịng cout tốn tử x u ấ t« 193 1.4.1 Dòng cout 193 1.4.2 Toán tử x u ấ t« 193 1.4.3 Các phương thức định dạng 193 1.4.4 Cờ định dạng 195 1.4.5 Các phương thức bật tắt c 200 Các phận định dang 200 1.4.7 Các hàm định dạn g 201 1.5 Các dòng chuẩn 203 1.6 Xuất máy i n 204 PHỤ LỤC THỨ T ự Ư u TIÊN CỦA CÁC PHÉP TOÁN 207 TÀI LIỆU THAM KHẢO 211 ABC *p = new ABC; - Ta dùng lệnh khai báo để tạo đối tượng từ đối tượng tồn tại, ví dụ: ABC u; ABC v(u); / / Tạo V theo u Câu lệnh có ý nghĩa sau: - Nếu lớp ABC chưa xây dựng hàm tạo chép, câu lệnh gọi tới hàm tạo chép mặc định c++ Hàm chép nội dung bit u vào bít tương ứng V Như vùng nhớ u V có nội dung - Nếu lớp ABC có hàm tạo chép câu lệnh: PS v(u); tạo đối tượng V, sau gọi tói hàm tạo chép để khởi gán V theo u Ví dụ sau minh họa cách dùng hàm tạo chép mặc định: Trong chương trình đưa vào lớp PS (phàn số): + Các thuộc tính gồm: t (tử số) m (mẫu) + Trong lớp mà khơng có phương thức mà có hai hàm bạn hàm toán tử nhập ( » ) xuất ( « ) + Nội dung chương tnnh là: Dùng lệnh khai báo đẻ tạo đói tuợng u (kiểu PS) có nội dung đối tượng có d Ví dụ 3.19 # in c lu d e < c o n io h > # in c lu d e < io s tr e a m h > c l a s s PS { 96 private: int t,re­ public: friend ostreamS operator« (ostreamS os,const PS Sp) { o s « " = "

p.t>>p.m; return is; }; void main() { PS d; cout

Ngày đăng: 22/06/2023, 17:06