(NB) Giáo trình Lập trình hướng đối tượng cung cấp các khái niệm, đặc trưng cơ bản của lập trình hướng đối tượng như: đối tượng, lớp đối tượng, phương thức, thuộc tính, nạp chồng, kế thừa, đóng gói, trừu tượng, đa hình. Ngoài ra, học phần còn cung cấp cách thức giải quyết bài toán theo tư duy hướng đối tượng. Mời các bạn cùng tham khảo!
BỘ LAO ĐỘNG - THƯƠNG BINH VÀ XÃ HỘI TRƯỜNG CAO ĐẲNG NGHỀ KỸ THUẬT CÔNG NGHỆ -š›&š› - GIÁO TRÌNH MƠ ĐUN : LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG NGHỀ: CƠNG NGHỆ THƠNG TIN TRÌNH ĐỘ: CAO ĐẲNG Ban hành kèm theo Quyết định số: 245/QĐ-CĐNKTCN ngày 23 tháng 10 năm 2020 Hiệu trưởng Trường Cao đẳng nghề Kỹ thuật Công nghệ Hà Nội, năm 2021 (Lưu hành nội bộ) TUYÊN BỐ BẢN QUYỀN: Tài liệu thuộc loại sách giáo trình nên nguồn thơng tin phép dùng ngun trích dùng cho mục đích đào tạo tham khảo Mọi mục đích khác mang tính 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 MÃ TÀI LIỆU : MĐCNTT 10 LỜI GIỚI THIỆU C++ ngôn ngữ lập trình hướng đối tượng mở rộng từ ngơn ngữ C Do vậy, C++ có ưu điểm kế thừa điểm mạnh truyền thống ngôn ngữ C uyển chuyển, tương thích với thiết bị phần cứng Hiện nay, C++ ngơn ngữ lập trình phổ biến, giảng dạy trường đại học nước giới đặc biệt sử dụng rộng rãi cho nhu cầu phát triển công nghiệp phần mềm Tài liệu nhằm giới thiệu cho sinh viên ngôn ngữ lập trình C++, mà cịn mong muốn qua sinh viên hiểu tư tưởng phương pháp lập trình hướng đối tượng nói chung Nội dung tài liệu bao gồm hai phần chính: • Phần thứ lập trình nâng cao với C++, bao gồm lập trình C++ với trỏ mảng, kiểu liệu có cấu trúc thao tác vào tệp • Phần thứ hai lập trình hướng đối tượng với C++, bao gồm định nghĩa thao tác lớp đối tượng, tính kế thừa tương ứng bội C++, cách sử dụng số lớp thư viện C++ Mặc dù có nhiều cố gắng, khơng tránh khỏi sai sót, mong nhận đóng góp ý kiến độc giả để giáo trình hồn thiện Xin chân thành cảm ơn! Hà Nội, ngày 23 tháng 04 năm 2021 Tham gia biên soạn Chủ biên Trần Thị Vinh Tập thể Giảng viên Khoa CNTT Mọi thơng tin đóng góp chia sẻ xin gửi hòm thư tranthivinhvnn@gmail.com liên hệ số điện thoại 0978113529 MỤC LỤC LỜI GIỚI THIỆU MỤC LỤC BÀI 1: TỔNG QUAN VỀ LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Lịch sử phát triển Khái niệm lập trình hướng đối tượng đặc trưng Một số khái niệm 3.1 Lớp, đối tượng 3.2 Trừu tượng hóa 10 3.3 Thơng điệp, đóng gói, che dấu thông tin 10 3.4 Kế thừa 11 3.5 Đa hình 11 Phân tích tốn theo tiếp cận hướng đối tượng 11 Ngơn ngữ lập trình hướng đối tượng 14 BÀI 2: LỚP VÀ ĐỐI TƯỢNG 17 Định danh 17 1.1 Quy định với định danh 17 1.2.Quy ước với định danh 18 2.1 Kiểu liệu nguyên thủy 19 2.2.Giá trị 21 2.3.Chuyển đổi kiểu liệu 21 2.4.Khai báo khởi tạo biến, 22 Toán tử 23 3.1.Toán tử số học 23 3.2 Toán tử bit 23 3.3.Toán tử quan hệ 24 3.4 Toán tử logic 25 3.5 Toán tử gán 25 Nhập hiển thị liệu lên hình 27 4.1 Hiển thị liệu lên hình 27 4.2 Nhập liệu từ bàn phím 27 Cấu trúc điều khiển 27 5.1 Lệnh if-else 27 5.2 Lệnh switch-case 28 5.3 Vòng lặp while … while 30 5.4.Vòng lặp for 31 5.5.Các lệnh làm thay đổi cấu trúc lập trình 31 5.6.Phạm vi biến 31 6.Mảng chiều 32 6.1.Khai báo khởi tạo mảng 32 6.2.Một số thao tác với mảng chiều 32 7.Lập trình với cấu trúc lặp thao tác với mảng Java 33 BÀI 3: ĐÓNG GÓI VÀ XÂY DỰNG LỚP, TẠO VÀ SỬ DỤNG 35 1.Trừu tượng hóa liệu 35 1.1.Trừu tượng hóa liệu gì? 35 1.2.Trừu tượng hóa liệu gì? 35 1.3.So sánh đối tượng lớp 36 Đóng gói xây dựng lớp 37 2.1 Đóng gói gì? 37 2.2 Xây dựng lớp 37 2.3 Che giấu liệu 38 2.4 Phương thức set/get 38 Tạo sử dụng đối tượng 38 3.1 Khởi tạo liệu 38 3.2.Phương thức khởi tạo 38 3.3.Khai báo khởi tạo đối tượng 38 3.4.Sử dụng đối tượng 38 Từ khóa this 40 Truyền tham số cho phương thức 41 5.1 Truyền tham số kiểu liệu tham trị 41 5.2 Truyền tham số kiểu liệu tham chiếu 41 Chồng phương thức 42 Xây dựng lớp đơn giản, tạo sử dụng đối tượng 43 Lớp String, StringBuilder, StringBuffer 52 BÀI 4: TỔNG QUAN VỀ JDBC 55 Tổng quan JDBC 55 Cài đặt JDBC 55 Kết nối sở liệu 56 Tạo ứng dụng JDBC 57 GIÁO TRÌNHMƠ ĐUN Tên mơ đun: Lập trình hướng đối tượng Mã mơ đun: MĐCNTT 10 Vị trí, tính chất, ý nghĩa vai trị mơ đun : - Vị trí: Là mơ đun chun ngành Mơ đun bố trí học học xong môn học sở ngành như: Cơ sở liệu, Ngơn ngữ lập trình C/C++, Cấu trúc liệu giải thuật - Tính chất: Là mô đun cung cấp khái niệm, đặc trưng lập trình hướng đối tượng như: đối tượng, lớp đối tượng, phương thức, thuộc tính, nạp chồng, kế thừa, đóng gói, trừu tượng, đa hình, …Ngồi ra, học phần cung cấp cách thức giải toán theo tư hướng đối tượng Mục tiêu mơ đun: - Về kiến thức + Trình bày khái niệm thành phần lập trình hướng đối tượng + Phân tích toán theo tư hướng đối tượng + Xác định đối tượng lớp đối tượng toán cụ thể - Về kỹ + Thiết kế xây dựng lớp đối tượng ngơn ngữ lập trình cụ thể + Lập trình giải toán thực tế mức đơn giản ngơn ngữ lập trình hướng đối tượng Tích cực ứng dụng lập trình trực quan cho ứng dụng thực tế - Về lực tự chủ trách nhiệm: + Khả tìm tài liệu, đọc hiểu tài liệu + Khả làm việc nhóm Nội dung mô đun: Thời gian Số Tên mô đun Tổng Lý Thực Kiểm TT số thuyết hành tra* Bài 1: Tổng quan lập trình hướng đối tượng Lịch sử phát triển Khái niệm lập trình hướng đối tượng đặc trưng 10 Một số khái niệm Phân tích tốn theo tiếp cận hướng đối tượng Ngơn ngữ lập trình hướng đối tượng Bài 2: Lớp- Đối tượng Định nghĩa Lớp đối tượng Phạm vi Private, Public, Protected 20 14 Mảng đối tượng Phương thức khởi tạo phương thức hủy bỏ Con trỏ this Bài 3: Đóng gói xây dựng lớp; tạo sử dụng đối tượng Trừu tượng hóa liệu Đóng gói xây dựng lớp Tạo sử dụng đối tượng Từ khóa this Truyền tham số cho phương thức Chồng phương thức Xây dựng lớp đơn giản, tạo sử dụng đối tượng Lớp String, StringBuilder, StringBuffer Bài 4: Tổng quan JDBC Tổng quan JDBC Cài đặt JDBC Kết nối Cơ sở liệu Tạo ứng dụng JDBC Thi kết thúc môn Cộng 20 14 10 60 15 42 * Ghi chú: Thời gian kiểm tra lý thuyết tính vào gìơ lý thuyết, Thời gian kiểm tra thực hành tính vào thực hành Nội dung chi tiết: BÀI1: TỔNG QUAN VỀ LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Mã bài: MĐCNTT 10.01 Giới thiệu: Trong lập trình hướng cấu trúc, chương trình chia nhỏ thành chương trình chương trình thực cơng việc xác định Chương trình gọi đến chương trình theo giải thuật, cấu trúc xác định chương trình Các ngơn ngữ lập trình cấu trúc phổ biến Pascal, C C++ Riêng C++ ngồi việc có đặc trưng lập trình cấu trúc kế thừa từ C, cịn có đặc trưng lập trình hướng đối tượng Cho nên C++ cịn gọi ngơn ngữ lập trình nửa cấu trúc, nửa hướng đối tượng Mục tiêu: - Trình bày khái niệm đặc trưng lập trình hướng đối tượng - Thực thao tác mơi trường lập trình cụ thể - So sánh đặc trưng lập trình hướng đối tượng với số phương pháp lập trình học - Nhận dạng khái niệm đối tượng tron lập trình hướng đối tượng - Sử dụng lệnh ngơn ngữ lập trình hướng đối tượng cụ thể Nội dung chính: Lịch sử phát triển Trong lập trình hướng đối tượng: • Người ta coi thực thể chương trình đối tượng sau trừu tượng hố đối tượng thành lớp đối tượng • Dữ liệu tổ chức thành thuộc tính lớp Nguời ta ngăn chặn việc thay đổi tuỳ tiện liệu chương trình cách giới hạn truy nhập cho phép truy nhập liệu thông qua đối tượng, thông qua phương thức mà đối tượng cung cấp • Quan hệ đối tượng quan hệ ngang hàng quan hệ kế thừa: Nếu lớp B kế thừa từ lớp A A gọi lớp sở B gọi lớp dẫn xuất Khái niệm lập trình hướng đối tượng đặc trưng Đặc trưng lập trình cấu trúc thể mối quan hệ: chương trình = Cấu trúc liệu + Giải thuật Trong đó: • Cấu trúc liệu cách tổ chức liệu cho việc xử lý hay nhiều chương trình • Giải thuật quy trình để thực cơng việc xác định Trong chương trình, giải thuật có quan hệ phụ thuộc vào cấu trúc liệu: • Một cấu trúc liệu phù hợp với số hạn chế giải thuật • Nếu thay đổi cấu trúc liệu phải thay đổi giải thuật cho phù hợp • Một giải thuật thường phải kèm với cấu trúc liệu định Một số khái niệm 3.1 Lớp, đối tượng Đối tượng (Object) Trong lập trình hướng đối tượng, đối tượng coi đơn vị nhỏ Các diệu cách xử lí thành phần đối tượng mà không coi thực thể Một đối tượng chứa liệu riêng nó, đồng thời có phương thức (hành động) thao tác liệu đó: Đối tượng = liệu + phương thức Lớp (Class) Khi có nhiều đối tượng giống mặt liệu phương thức, chúng nhóm lại với gọi chung lớp: • Lớp trừu tượng hố đối tượng • Đối tượng thể lớp 3.2 Trừu tượng hóa Trừu tượng hóa liệu (Data abstraction) liên quan tới việc cung cấp thông tin cần thiết tới bên ẩn chi tiết sở chúng, ví dụ: để biểu diễn thơng tin cần thiết chương trình mà khơng hiển thị chi tiết chúng Trừu tượng hóa liệu (Data abstraction) kỹ thuật lập trình mà dựa phân biệt Interface Implementation (trình triển khai) Xem xét ví dụ TV, bạn bật/tắt, thay đổi kênh, chỉnh âm lượng, thêm thiết bị ngoại vi loa, VCR DVD Nhưng bạn chi tiết nội vi nó, là, bạn khơng biết cách nhận tín hiệu qua khơng khí qua dây cáp, cách phiên dịch chúng cuối hiển thị chúng hình Vì thế, nói TV phân biệt rõ ràng trình triển khai nội vi với giao diện ngoại vi bạn thao tác với interface với nút nguồn, điều khiển âm lượng mà khơng cần có hiểu biết diễn bên Bây giờ, mặt ngơn ngữ lập trình C++, lớp C++ cung cấp Trừu tượng hóa liệu (Data abstraction) mức thật tuyệt vời Chúng cung cấp đủ phương thức public tới bên ngồi để thao tác với tính đối tượng để thao tác liệu đối tượng, ví dụ: trạng thái mà khơng cần thực biết cách lớp triển khai nội Ví dụ, chương trình bạn tạo lời gọi tới hàm sort() mà không cần biết hàm thực sử dụng thuật tốn để xếp giá trị cho Thực ra, trình triển khai sở (underlying implementation) tính xếp thay đổi tùy vào thư viện, miễn Interface cũ lời gọi hàm bạn tiếp tục làm việc 3.3 Thông điệp, đóng gói, che dấu thơng tin Đóng gói liệu (Encapsulation) • Các liệu đóng gói vào đối tượng Mỗi liệu có phạm vi truy nhập riêng • Khơng thể truy nhập đến liệu cách tự lập trình cấu trúc • Muốn truy nhập đến liệu bảo vệ, phải thông qua đối tượng, nghĩa phải sử dụng phương thức mà đối tượng cung cấp truy nhập đến liệu đối tượng Tuy nhiên, C++ ngơn ngữ lập trình nửa đối tượng, C++ cho phép định nghĩa biến liệu hàm tự do, kết kế thừa từ ngôn ngữ C, ngơn ngữ lập trình cấu trúc 10 cout