(NB) Nội dung của giáo trình Lập trình hướng đối tượng bao gồm hai phần chính: Phần thứ nhất là lập trình nâng cao với C++, bao gồm lập trình C++ với con trỏ và mảng, các kiểu dữ liệu có cấu trúc cùng các thao tác vào ra trên tệp. Phần thứ hai là lập trình hướng đối tượng với C++, bao gồm các định nghĩa và các thao tác trên lớp đối tượng, tính kế thừa và tương ứng bội trong C++, cách sử dụng một số lớp cơ bản trong thư viện C++.
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Ề: LẬP TRÌNH VIÊN MÁY TÍNH TRÌNH ĐỘ: CAO ĐẲNG Ban hành kèm theo Quyết định số: 13A/QĐ-CĐNKTCN ngày 10 tháng 01 năm 2019 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ĐLTV 21 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íchvớ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 tạicác trường đại học nước giới đặc biệt sử dụng rộng rãi cho nhu cầu pháttriể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 củaphươ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 11 Lịch sử phát triển 11 Khái niệm lập trình hướng đối tượng đặc trưng 11 Một số khái niệm 11 3.1 Lớp, đối tượng 11 3.2 Trừu tượng hóa 12 3.3 Thơng điệp, đóng gói, che dấu thơng tin 12 3.4 Kế thừa 13 3.5 Đa hình 13 Phân tích tốn theo tiếp cận hướng đối tượng 13 Ngơn ngữ lập trình hướng đối tượng 16 BÀI 2: LỚP VÀ ĐỐI TƯỢNG 19 Định danh 19 1.1 Quy định với định danh 19 1.2.Quy ước với định danh 20 2.1 Kiểu liệu nguyên thủy 21 2.2.Giá trị 23 2.3.Chuyển đổi kiểu liệu 23 2.4.Khai báo khởi tạo biến, 24 Toán tử 25 3.1.Toán tử số học 25 Toán tử số học C++ 25 3.2 Toán tử bit 25 3.3.Toán tử quan hệ 26 3.4 Toán tử logic 27 3.5 Toán tử gán 27 Nhập hiển thị liệu lên hình 29 4.1 Hiển thị liệu lên hình 29 4.2 Nhập liệu từ bàn phím 29 Cấu trúc điều khiển 30 5.1 Lệnh if-else 30 5.2 Lệnh switch-case 30 5.3 Vòng lặp while … while 33 5.4.Vòng lặp for 34 5.5.Các lệnh làm thay đổi cấu trúc lập trình 34 5.6.Phạm vi biến 34 6.Mảng chiều 35 6.1.Khai báo khởi tạo mảng 35 6.2.Một số thao tác với mảng chiều 35 7.Lập trình với cấu trúc lặp thao tác với mảng Java 36 BÀI 3: ĐÓNG GÓI VÀ XÂY DỰNG LỚP, TẠO VÀ SỬ DỤNG 38 1.Trừu tượng hóa liệu 38 1.1.Trừu tượng hóa liệu gì? 38 1.2.Trừu tượng hóa liệu gì? 38 1.3.So sánh đối tượng lớp 39 Đóng gói xây dựng lớp 40 2.1 Đóng gói gì? 40 2.2 Xây dựng lớp 40 2.3 Che giấu liệu 41 2.4 Phương thức set/get 41 Tạo sử dụng đối tượng 41 3.1 Khởi tạo liệu 41 3.2.Phương thức khởi tạo 41 3.3.Khai báo khởi tạo đối tượng 41 3.4.Sử dụng đối tượng 41 Từ khóa this 43 Truyền tham số cho phương thức 44 5.1 Truyền tham số kiểu liệu tham trị 44 5.2 Truyền tham số kiểu liệu tham chiếu 44 Chồng phương thức 45 Xây dựng lớp đơn giản, tạo sử dụng đối tượng 46 Lớp String, StringBuilder, StringBuffer 55 BÀI 4: TỔNG QUAN VỀ JDBC 59 Tổng quan JDBC 59 Cài đặt JDBC 59 Kết nối sở liệu 60 Tạo ứng dụng JDBC 61 BÀI 5: KẾ THỪA 64 Một số khái niệm 64 1.1 Tổng quát hóa đặc biệt hóa 64 1.2 Tính kế thừa 64 1.3 Lớp sở, lớp dẫn xuất 64 1.4 Các dạng kế thừa 66 1.4.1 Đơn kế thừa 66 1.4.2 Đa kế thừa 66 Các hình thức kế thừa 68 2.1 Hình thức kế thừa private 68 Kiểu kế thừa C++ 68 2.2 Hình thức kế thừa Protected 68 2.3 Hình thức kế thừa Public 68 Sự trùng tên kế thừa 68 Lớp sở ảo lớp sở trừu tượng 70 BÀI 6: ĐA HÌNH VÀ GIAO DIỆN 73 Nạp chồng hàm, nạp chồng toán tử 73 Đa hình 74 2.1 Khái niệm 74 2.2 Vai trò 74 2.3 Xây dựng ứng dụng sử dụng tính chất đa hình 74 Giao diện (Interface) 75 3.1 Khái niệm 75 3.2 Cách khai báo xây dựng giao diện C# 75 BÀI 7: LẬP TRÌNH ANDROID CƠ BẢN 80 1.Cài đặt Android Studio 80 2.Viết ứng dụng bản: Nhập/Hiển thị, khai báo biến, 87 3.Lập trình hướng đối tượng Android 88 4.Tạo sử dụng lớp Android 89 5.Bắt kiện Onclick 90 6.Tùy chỉnh Layout 90 7.Tạo hàm 90 8.Chèn hình ảnh ImageView, gán hình cho đối tượng 90 9.Sử dụng đối tượng CountDownTimer 91 10.Sử dụng ASYNC 91 11.Đọc file từ internet 92 12.Đọc XML & RSS 92 13.Tạo diễn hoạt hình với Animation 92 GIÁO TRÌNH MƠ ĐUN Tên mơ đun: Lập trình hướng đối tượng Mã mơ đun: MĐLTV 21 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 cị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 tố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 tố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 15 10 đặc trưng 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 25 17 Bài 2: Lớp- Đối tượng Định nghĩa Lớp đối tượng Phạm vi Private, Public, Protected 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 Bài5: Kế thừa Một số khái niệm Các hình thức kế thừa Sự trùng tên kế thừa Lớp sở ảo lớp sở trừu tượng Bài 6: Đa hình Giao diện Nạp chồng hàm, nạp chồng tốn tử Đa hình Giao diện (Interface) Bài 7: Lập trình Android 1.Cài đặt Android Studio 2.Viết ứng dụng bản: Nhập/Hiển thị, khai báo biến, 3.Lập trình hướng đối tượng Android 4.Tạo sử dụng lớp Android 5.Bắt kiện Onclick 6.Tùy chỉnh Layout 7.Tạo hàm 8.Chèn hình ảnh ImageView, gán hình 20 14 13 11 15 15 12 15 15 1 cho đối tượng 9.Sử dụng đối tượng CountDownTimer 10.Sử dụng ASYNC 11.Đọc file từ internet 12.Đọc XML & RSS 13.Tạo diễn hoạt hình với Animation Thi kết thúc mô đun Cộng 120 28 88 * 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: 10 BÀI 7: LẬP TRÌNH ANDROID CƠ BẢN Mã bài: MĐLTV 21.07 Giới thiệu Hệ điều hành Android chiếm 80% thị trường thiết bị di động đại ngày nay.Nhu cầu sử dụng ứng dụng di động ngày cao Nhu cầu việc làm lập trình hệ điều hành mobile phổ biến giới mà tăng mạnh tính mở dễ tiếp cận nó.Nơi dung hướng dẫn bạn kiến thức LẬP TRÌNH ANDROID Từ Activity database Sqlite, xử lý đa phương tiện, v…v… để bạn tự tạo ứng dụng Android cho sở thích cơng việc Mục tiêu Trình bày ứng dụng hệ điều hành android Cài đặt hệ điều hành android theo yêu cầu Nội dung 1.Cài đặt Android Studio Bước 1: Chúng ta cần có JDK (Java Development Kit) trước làm việc với Android máy Truy cập vào link: http://www.oracle.com/technetwork/java/javase/downloads/index.html · Và click vào nút khoanh đỏ: 80 · · Chọn Accept License Agreement chọn phiên Java muốn cài đặt (Windows x64) Tải xong cài đặt bình thường Các thành phần JDK có đầy đủ cài hết (bao gồm source code JRE): Bước 2: Với đường dẫn bôi đỏ Các bạn chuột phải vào biểu tượng My Computer (hoặc với Windows 10 This PC) chọn Properties, chuột phải vào biểu tượng Start Windows, chọn System 81 82 · Chọn Advanced System Settings: · Ở tab Advanced, chọn Environment Variables > New… (có nút New, nút tốt dùng nút New… dưới) > nhập vào New user variable hình với: o Variable value đường dẫn JDK bôi đỏ ghi nhớ bước trước 83 · Sau nhấn OK hết hộp thoại Vậy ta chuẩn bị xong cho JDK Bước 3: Chuẩn bị Android Studio Android SDK Truy cập vào trang: https://developer.android.com/studio/index.html · · Và nhấn nút hình để tải Ở thời điểm viết bài, phiên 2.1 phiên stable (ổn định) Sau tải cần cài đặt file exe bao gồm Android Studio IDE Android SDK 84 Sau cài đặt việc sử dụng cách click vào biểu tượng Android Studio ngồi desktop Tuy nhiên có lựa chọn khác cài đặt riêng thành phần: Android Studio IDE Android SDK bước Bước (Tùy chọn): Nếu bạn khơng thích cài theo exe có sẵn bạn cài đặt thành phần lẻ phát triển Android Studio Cũng địa trên, kéo xuống đáy trang ta thấy tùy chọn sau · · · · Màu cam: Bộ Android Studio lẻ / Màu xanh: Bộ Android SDK lẻ Chúng ta cần download giải nén Sau tải giải nén gói zip Android Studio , vào thư mục \androidstudio\bin chạy file studio.exe (hoặc studio64.exe, máy bạn có hệ điều hành 64-bit) Android Studio yêu cầu định đường dẫn đến thư mục chứa Android SDK (giải nén từ file zip phần khoanh màu xanh Chúng ta cần nhập vào theo Wizard: 85 Nếu sau trình sử dụng, hệ thống khơng tìm thấy đường dẫn đến Android SDK tinh chỉnh lại cách vào Configure > Settings: · Và chọn Appearance & Behavior > System Settings > Android SDK > Edit: 86 2.Viết ứng dụng bản: Nhập/Hiển thị, khai báo biến, Để bắt đầu tìm hiểu ngơn ngữ lập trình Java học cú pháp ngôn ngữ Java gồm khai báo biến, hằng, phương thức, kiểu liệu, toán tử, biểu thức cấu trúc điều khiển Java Biến: vùng nhớ dùng để lưu trữ giá trị chương trình Mỗi biến gắn liền với kiểu liệu định danh gọi tên biến · Tên biến thông thường chuỗi ký tự, ký số · Tên biến phải bắt đầu chữ , dấu _ hay dấu $ Ví dụ: int total2Number; String title · Tên biến không trùng với từ khóa · Tên bi ến khơng có khoảng trắng tên · Biến khai báo đâu chương trình Cú pháp khai báo: ; = ; Ví dụ: String bodyOfContent; bodyOfContent = “Hello World”; 87 Quy chuẩn đặt tên (naming convention): chữ viết thường, chữ từ tên biến viết hoa · · Biến tồn cục (khai báo từ khóa public phía trước đặt class): biến truy xuất khắp nơi chương trình Biến cục bộ: biến truy xuất khối lệnh khai báo public class MyFirstJavaProgram { public String text="Hello World";//biến toàn cục public static void main(String []args) { int a = 3;//biến cục System.out.println(text); // prints Hello World System.out.println(a); //print } } 3.Lập trình hướng đối tượng Android Lập trình hướng đối tượng kỹ thuật lập trình nhằm vào tương tác đối tượng.Mỗi đối tượng có thuộc tính (thông tin lưu trữ), phương thức xác định chức đối tượng Bên cạnh đó, đối tượng có khả phát sinh kiện thay đổi thông tin, thực chức hay đối tượng khác tác động vào Tất thuộc tính, phương thức kiện tạo nên cấu trúc đối tượng Có tính chất lập trình hướng đối tượng : – Abstraction : tính trừu tượng – Encapsulation : tính đóng gói – Inheritance : tính kế thừa – Polymorphism : tính đa hình Mỗi tính chất có vai trị quan trọng lập trình hình đối tượng Đầu tiền định nghĩa Đối Tượng Lớp Đối tượng: Một thực thể có trạng thái hành vi Ví dụ xe đạp, bàn, ghế, … Nó mang tính vật lý logic · Lớp: Một tập hợp đối tượng Nó thực thể logic Tính trừu tượng · 88 Bạn thường lẫn lộn lớp (Class) đối tượng (Object).Cần phân biệt lớp ý niệm trừu tượng, đối tượng thể cụ thể lớp Ví dụ : thiết kế nhà lớp, ngơi nhà xây dựng dựa thiết kế đối tượng Sự trừu tượng hiểu đơn giản sau: Giả sử, kiến trúc để xây dựng xe bao gồm: Bánh xe, yên xe, thắng Như vậy, mơ hình xe máy, xe đạp, xe gọi xe chúng thỏa mãn yếu tố mà kiến trúc xe quy định 4.Tạo sử dụng lớp Android Một Activity bạn tạo cách kế thừa (extends) lớp android.app.Activity (hoặc lớp AppCompatActivity, ta dùng cách này, xem thích phần dưới) mà kích hoạt tạo cửa sổ nơi chèn giao diện (UI) vào phương thức setContentView(View) Như trình bày vịng đời Activity Android có số giai đoạn Để Activity hoạt động hoạt động tối thiểu bạn cần nạp chồng (overrided) phương thức onCreate(Bundle), phương thức gọi giai đoạn chu kỳ vịng đời Activity, thể chỗ mà nạp giao diện cho phương thức setContentView(int) setContentView(View) Bạn cần nạp chồng phương thức onPause(), phương thức gọi Activity chuyển sang trạng thái tạm dừng tức lúc giao diện khơng cịn xuất (ví dụ kích hoạt Activity khác, Activity khác hoạt động che hết hình), code phương thức thường để lưu lại thơng tin (vì Acvitity khơng kích hoạt lại) Ví dụ tạo Acvitity tên là: Lession2Activity public class Lession2Activity extends AppCompatActivity { @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.lession2_activity); //Các khởi tạo khác cần thiết } @Override protected void onPause() { super.onPause(); 89 //Code to save data } } 5.Bắt kiện Onclick Cách bắt kiện cho button Đầu tiên tạo button sau: