1. Trang chủ
  2. » Công Nghệ Thông Tin

Giáo trình Lập trình hướng đối tượng (Nghề Lập trình máy tính): Phần 1 - Tổng cục dạy nghề

68 13 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 68
Dung lượng 0,97 MB

Nội dung

(NB) Giáo trình Lập trình hướng đối tượng (Nghề Lập trình máy tính): Phần 1 do Tổng cục dạy nghề biên soạn sẽ giúp bạn nắm vững các đặc trưng cơ bản: tính đóng gói, tính kế thừa, tính tương ứng bội của phương pháp lập trình hướng đối tượng. Tiếp cận được phương pháp lập trình hướng đối tượng. Mời các bạn tham khảo!

BỘ LAO ĐỘNG - THƯƠNG BINH VÀ XÃ HỘI TỔNG CỤC DẠY NGHỀ GIÁO TRÌNH Mơ đun: LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Mã số: ITPRG-02 NGHỀ: LẬP TRÌNH MÁY TÍNH Trình độ : Cao đẳng nghề NĂM 2012 Tuyên bố quyền : Tài liệu thuộc loại sách giáo trình Cho nên nguồn thơng tin phép dùng nguyên trích dùng cho mục đích đào tạo tham khảo Mọi mục đích khác có ý đồ lệch lạc sử dụng với mục đích kinh doanh thiếu lành mạnh bị nghiêm cấm Tổng Cục Dạy nghề làm cách để bảo vệ quyền Tổng Cục Dạy Nghề cám ơn hoan nghênh thông tin giúp cho việc tu sửa hoàn thiện tốt tàI liệu Địa liên hệ: Dự án giáo dục kỹ thuật nghề nghiệp Tiểu Ban Phát triển Chương trình Học liệu ……………………………………………… LỜI TỰA Đây tài liệu xây dựng theo chương trình dự án giáo dục kỹ thuật dạy nghề, để có đươc giáo trình dự án tiến hành theo hai giai đoạn Giai đoạn : Xây dựng chương trình theo phương pháp DACUM, kết gian đoạn khung chương trình gồm 230 trang cấp độ 170 trang cấp độ Giai đoạn : 29 giáo trình 29 tài liệu hướng dẫn giáo viên cho nghề lập trình máy tính cấp độ Để có khung chương trình chúng tơi mời giáo viên, chuyên gia làm việc lĩnh vực cơng nghệ thơng tin xây dựng chương trình Trong giai đoạn viết giáo trình chúng tơi có điều chỉnh để giáo trình có tính thiết thực phù hợp với phát triển lĩnh vực công nghệ thông tin Hiện để tiết kiệm nhiều thời gian công sức, xu lập trình hướng đối tượng ngày trở nên vô hiệu phổ biến Các môi trường phát triển ứng dụng ln lấy tư tưởng lập trình hướng đối tượng làm tảng, mơn học lập trình hướng đối tượng nhằm cung cấp phương pháp hướng đối tượng vững cho sinh viên dễ dàng tiếp cận với ngơn ngữ lập trình đại Trong trình biên soạn, cố gắng tham khảo nhiều tài liệu giáo trình khác tác giả không khỏi tránh thiếu sót hạn chế Tác giả chân thành mong đợi nhận xét, đánh giá góp ý để giáo trình ngày hồn thiện Tài liệu thiết kế theo mô đun/ môn học thuộc hệ thống mơ đun/mơn học chương trình, để đào tạo hồn chỉnh nghề Lập trình máy tính cấp trình độ bậc cao dùng làm Giáo trình cho học viên khố đào tạo, sử dụng cho đào tạo ngắn hạn cho công nhân kỹ thuật, nhà quản lý người sử dụng nhân lực tham khảo Đây tài liệu thử nghiệm hoàn chỉnh để trở thành giáo trình thức hệ thống dạy nghề MỤC LỤC ĐỀ MỤC LỜI TỰA MỤC LỤC GIỚI THIỆU VỀ MÔN HỌC CÁC HÌNH THỨC HỌC TẬP CHÍNH TRONG MƠN HỌC TRANG 10 Bài 1: PHƯƠNG PHÁP HƯỚNG ĐỐI TƯỢNG 1.1 Các phương pháp lập trình 1.1.1 Tiếp cận hướng đối tượng 11 12 12 1.1.2 Những nhược điểm lập trình hướng thủ tục 1.1.3 Lập trình hướng đối tượng 1.2 Các đặc điểm lập trình hướng đối tượng 1.2.1 Các khái niệm lập trình hướng đối tượng 1.2.2 Trừu tượng hóa liệu bao gói thơng tin 1.2.3 Kế thừa 1.2.4 Tương ứng bội 1.2.5 Liên kết động 1.2.6 Truyền thông báo 1.3 Xây dựng lớp đối tượng 12 13 13 13 14 15 15 15 15 16 BÀI 2: CÁC THÀNH PHẦN CỦA LỚP 2.1 Khai báo lớp sở 2.2 Hàm constructor destructor 2.2.1 Hàm tạo chép (constructor) 2.2.2 Hàm hủy (destructor) 2.3 Hàm tạo chép có tham số 2.4 Hàm in-line (hàm nội tuyến) 2.5 Thành phần lớp static 2.5.1 Dữ liệu thành phần tĩnh 2.5.2 Hàm thành phần tĩnh 2.6 Hàm friend (hàm bạn) 17 18 18 18 19 21 26 28 28 30 32 BÀI ĐỐI TƯỢNG 3.1 Biến trỏ 3.1.1 Khái niệm trỏ ( pointer ) địa 3.1.2 Tính tốn biến trỏ ( pointer ) 3.2 Đối tượng trỏ 39 40 40 40 41 3.3 Phép gán đối tượng 3.3.1 Truy nhập tới thành phần lớp 42 42 3.3.2 Phép gán đối tượng 48 3.4 Truyền tham số đối tượng cho hàm 3.5 Giá trị trả hàm đối tượng 3.6 Tham chiếu 3.7 Mảng đối tượng 3.8 Con trỏ this 3.9 Hàm new delete 3.9.1 Toán tử new để cấp phát nhớ 3.9.2 Toán tử delete 48 49 49 50 50 51 52 53 BÀI HÀM ĐỊNH NGHĨA CHỒNG 4.1 Hàm constructor định nghĩa chồng(overloading constructor) 4.2 Cách tạo sử dụng hàm copy constructor 4.3 Tham số mặc định hàm constructor 4.4 Hàm định nghĩa chồng 4.5 Lấy địa hàm định nghĩa chồng 4.5.1 Trường hợp hàm có tham số 4.5.2 Trường hợp hàm có nhiều tham số 54 55 57 59 60 62 62 62 BÀI 5: TOÁN TỬ ĐỊNH NGHĨA CHỒNG 5.1 Những khái niệm toán tử chồng 5.2 Định nghĩa chồng tốn tử hai ngơi 5.3 Định nghĩa chồng toán tử ++ , -5.4 Định nghĩa chồng tốn tử ngơi 5.5 Hàm tốn tử friend 5.6 Toán tử gán ( = ) 5.7 Một số định nghĩa toán tử chồng 5.7.1 Hàm chuyển kiểu 5.7.2 Định nghĩa chồng toán tử nhập xuất 63 64 64 66 68 69 70 70 70 72 BÀI 6: SỰ KẾ THỪA 6.1 Các loại kế thừa 6.2 Đơn kế thừa 6.2.1 Định nghĩa lớp dẫn xuất từ lớp sở 6.2.2 Truy nhập thành phần lớp dẫn xuất 6.2.3 Định nghĩa lại hàm thành phần lớp sở lớp dẫn xuất 6.2.4 Hàm tạo tính kế thừa 6.2.5 Hàm hủy tính kế thừa 6.2.6 Khai báo protected 74 75 75 75 76 77 80 82 83 6.2.7 Dẫn xuất protected 83 6.3 Đa kế thừa 84 6.3.1 Định nghĩa lớp dẫn xuất từ nhiều lớp sở 6.3.2 Một số ví dụ đa kế thừa 84 84 BÀI 7: HÀM ẢO VÀ TÍNH TƯƠNG ỨNG BỘI 7.1 Hàm ảo 7.1.1 Đặt vấn đề 7.1.2 Định nghĩa hàm ảo 7.1.3 Quy tắc gọi hàm ảo 7.1.4 Quy tắc gán địa đối tượng cho trỏ lớp sở 7.2 Lớp sở ảo 7.2.1 Khai báo lớp sở ảo 7.2.2 Hàm tạo hàm hủy lớp sở 91 92 92 93 95 95 98 98 100 BÀI 8: HÀM, LỚP TEMPLATE 8.1 Khn hình hàm 8.1.1 Khái niệm 8.1.2 Tạo khn hình hàm 8.1.3 Sử dụng khn hình hàm 8.1.4 Các tham số kiểu khn hình hàm 8.1.5 Định nghĩa chồng khn hình hàm 8.2 Khn hình lớp 8.2.1 Khái niệm 8.2.2 Tạo khn hình lớp 8.2.3 Sử dụng khn hình lớp 8.2.4 Các tham số khn hình lớp 8.2.5 Tóm tắt 106 107 107 107 108 108 110 111 111 111 112 113 113 GIỚI THIỆU VỀ MƠN HỌC Vị trí, ý nghĩa, vai trị mơn học : Lập trình hướng đối tượng phương pháp lập trình bước đường tiến hóa việc lập trình máy tính, nhằm giúp chương trình trở nên linh hoạt, tin cậy dễ phát triển Tư tưởng lập trình hướng đối tượng áp dụng cho hầu hết ngơn ngữ lập trình chạy môi trường Windows Visual Basic, Java, Visual C Vì việc nghiên cứu phương pháp lập trình thật cần thiết người làm Tin học Giáo trình thành phần hệ thống giáo trình Tổng cục dạy nghề Giáo trình biên soạn theo chương trình quy công nhân lành nghề ngành Công nghệ thông tin Mục tiêu môn học: Sau học xong môn học học viên có khả năng: Nắm vững đặc trưng bản: tính đóng gói, tính kế thừa, tính tương ứng bội phương pháp lập trình hướng đối tượng Tiếp cận phương pháp lập trình hướng đối tượng Mục tiêu thực môn học: Học xong mơn học học viên có khả năng: - Lập trình theo phương pháp hướng đối tượng - Cài đặt lớp đối tượng ngơn ngữ lập trình C++ - Xây dựng phương thức, toán tử lớp đối tượng - Cài đặt lớp đối tượng kế thừa từ lớp đối tượng có sẵn - Sử dụng cài đặt lớp đối tượng có tính tương ứng bội - Tự thiết kế xây dựng chương trình theo phương pháp hướng đối tượng - Xây dựng đối tượng tập cụ thể Nội dung mơn học: BÀI PHƯƠNG PHÁP HƯỚNG ĐỐI TƯỢNG BÀI CÁC THÀNH PHẦN CỦA LỚP BÀI ĐỐI TƯỢNG BÀI HÀM ĐỊNH NGHĨA CHỒNG (OVERLOAD) BÀI TOÁN TỬ ĐỊNH NGHĨA CHỒNG BÀI SỰ KẾ THỪA BÀI HÀM ẢO VÀ TÍNH TƯƠNG ỨNG BỘI BÀI HÀM, LỚP TEMPLATE SƠ ĐỒ MỐI LIÊN HỆ GIỮA CÁC MƠ ĐUN VÀ MƠN HỌC TRONG CHƯƠNG TRÌNH Học kỳ I Học kỳ II Học kỳ III Học kỳ IV Hệ thống máy tính Giao diện người máy Lập trình Lập trình nâng cao Lập trình hướng đối tượng Mạng Kỹ tin học văn phòng Cấu trúc liệu thuật giải Kỹ Giao tiếp Thiết kế hướng đối tượng Cơ sở liệu Công nghệ phần mềm Kỹ Công nghệ Đa phương tiện Lập trình Visual Basic Mơi trường PT Phần mềm Phân tích thiết kế hệ thống Ứng dụng CNTT doanh nghiệp Internet & WWW Cơ sở toán học Lập trình Web Thiết kế Web Hệ sở liệu Quản lý dự án phần mềm Hướng dẫn đồ án tốt nghiệp An toàn Thi Anh văn Phần cứng lao động tốt nghiệp cho tin học máy tính Lập trình hướng đối tượng môn học công nhân lành nghề Để học tốt mon học này, học viên cần phải học qua mơn lập trình Những học viên qua kiểm tra thi mà không đạt phải thu xếp cho học lại phần chưa đạt phải đạt điểm chuẩn phép học tiếp mô đun/ môn học Học viên, chuyển trường, chuyển ngành.nếu học sở đào tạo khác phải xuất trình giấy chứng nhận; Trong số trường hợp phải qua sát hạch lại Trang CÁC HÌNH THỨC HỌC TẬP CHÍNH TRONG MƠN HỌC - Học lớp : - Tư tưởng lập trình theo hướng đối tượng ngơn ngữ lập trình C++ - Cú pháp ngơn ngữ C++ lập trình xây dựng hướng đối tượng - Phương pháp thiết kế xây dựng lớp phương pháp lập trình hướng đối tượng - Phương pháp kế thừa - Học phòng học thực hành trường về: - Sử dụng phần mềm Turbo C++ - Sử dụng ngôn ngữ C++ xây dựng lớp sở lớp dẫn xuất - Sử dụng công cụ Rational Rose thiết kế đối tượng sinh mã cho đối tượng - Xây dựng ứng dụng thực tiễn phương pháp lập trình hướng đối tượng YÊU CẦU VỀ ĐÁNH GIÁ HOÀN THÀNH MÔN HỌC Kỹ thực hành: - Sử dụng thành thạo phần mềm hỗ trợ thiết kế - Lập tài liệu phân tích thiết kế - Kết hợp thành thạo cơng cụ Rational Rose lập trình hướng đối tượng Thái độ học viên: - Cẩn thận lắng nghe ý kiến thảo luận nhóm thiết kế Học viên cần tuân thủ tập thực hành theo thứ tự chương, từ dễ đến khó Đánh giá thơng qua kiểm tra trắc nghiệm: - Dùng phần mềm thi trắc nghiệm - Kiểm tra trắc nghiệm giấy máy tính - Xây dựng ngân hàng câu hỏi, học viên nhận để phát sinh ngẫu nhiên chất lượng đề (trung bình, khá, giỏi, xuất sắc) - Thời gian làm tuỳ theo số lượng câu đề - Thang điểm 10 chia cho câu - Kết đánh giá dựa vào làm theo điểm đạt Thực hành: Đánh giá thông qua khả giải hồn thành chương trình (đề kiểm tra) đề Thang điểm: (đánh giá câu hỏi trắc nghiệm) 0-49 : Khơng đạt 50-69 : Đạt trung bình 70-85 : Đạt 86-100 : Đạt Giỏi BÀI PHƯƠNG PHÁP HƯỚNG ĐỐI TƯỢNG Mã : ITPRG02.1 Giới thiệu : Phương pháp hướng đối tượng sử dụng rộng rãi giới có đặt điểm quan trọng giúp người lập trình giảm thiểu đáng kể thời gian lập trình, số cơng nghệ đại C++ Builder, Visual Studio NET, cho phép người lập trình kế thừa kho tàng đối tượng phong phú để xây dựng giao diện ứng dụng đồ họa cách nhanh chóng Những đặt tính phương pháp bao gồm: tính đóng gói, tính đa hình đa kế thừa mà tìm hiểu chương Mục tiêu thực hiện: Học xong học viên có khả năng: - Diễn đạt phương pháp hướng đối tượng - Cài đặt chương trình theo phương pháp lập trình hướng đối tượng - Phân tích để xây dựng đối tượng lớp đối tượng - Xử lý tình thừa kế Nội dung chính: 1.1 Các phương pháp lập trình 1.2 Các đặc điểm lập trình hướng đối tượng Tính đóng gói (encapsulation ) Tính kế thừa (inheritance) Tính tương ứng bội (polymorpharism ) 1.3 Xây dựng lớp đối tượng 1.1 Các phương pháp lập trình Hiện hai phương pháp lập trình sử dụng rộng rãi phương pháp lập trình thủ tục phương pháp lập trình hướng đối tượng + Phương pháp lập trình thủ tục phương pháp truyền thống, thể tính cấu trúc chương trình + Phương pháp lập trình hướng đối tượng phương pháp lập trình mới, dựa phương thức kiện đối tượng mà tìm hiểu 1.1.1 Tiếp cận hướng đối tượng Trong giới thực, chung quanh đối tượng, thực thể có mối quan hệ với Ví dụ phịng cơng ty kinh doanh xem đối tượng Các phịng là: phịng quản lý, phịng bán hàng, phịng kế tốn, phịng tiếp thị, Mỗi phịng ngồi cán đảm nhiệm cơng việc cụ thể, cịn có liệu riêng thông tin nhân viên, doanh số bán hàng, liệu khác có liên quan đến phận Việc phân chia phịng chức công ty tạo điều kiện dễ dàng cho việc quản lý 10 n = n1; a = new double[n1+1]; } friend ostream& operator> (istream& is,DT &d); }; 4.2 Cách tạo sử dụng hàm copy constructor Bây theo dõi xem việc dùng hàm tạo mặc định đoạn chương trình sau dẫn đến sai lầm nào: DT d; cin >> d; /* Nhập đối tượng d gồm: nhập số nguyên dương gán cho d.n, cấp phát vùng nhớ cho d.n, nhập hệ số đa thức chứa vào vùng nhớ cấp phát */ DT u(d); /* Dùng hàm tạo mặc định để xây dựng đối tượng u theo d Kết quả: u.n = d.n u.a = d.a Như hai trỏ u.a d.a trỏ đến vùng nhớ */ Nhận xét: Mục đích ta tạo đối tượng u giống d, độc lập với d Nghĩa d thay đổi u khơng bị ảnh hưởng Thế mục tiêu khơng đạt được, u d có chung vùng nhớ chứa hệ số đa thức, nên sửa đổi hệ số đa thức d hệ số đa thức u thay đổi theo Còn trường hợp dẫn đến lỗi hai đối tượng u d bị giải phóng (thu hồi vùng nhớ chứa đa thức) đối tượng cịn lại khơng cịn vùng nhớ Ví dụ sau minh họa nhận xét trên: Khi d thay đổi u thay đổi ngược lại u thay đổi d thay đổi theo Ví dụ : Ví dụ sau minh họa hàm tạo chép: #include #include #include class DT { private: int n; // Bac da thuc double *a; // Tro toi vung nho chua cac da thuc // a0, a1, public: DT() 54 { this->n=0; this->a=NULL; } DT(int n1) { this->n=n1; this->a= new double[n1+1]; } DT(const DT &d); friend ostream& operator> (istream& is,DT &d); }; DT::DT(const DT &d) { this->n = d.n; this->a = new double[d.n+1]; for (int i=0;ia[i] = d.a[i]; } ostream& operator

Ngày đăng: 19/01/2022, 10:17

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN