Bài giảng Lập trình hướng đối tượng - Chương 1: Tổng quan về OOP
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Lập trình hướng đối tượng - Chương 1: Tổng quan về OOP", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- bai_giang_lap_trinh_huong_doi_tuong_chuong_1_tong_quan_ve_oo.pptx
Nội dung text: Bài giảng Lập trình hướng đối tượng - Chương 1: Tổng quan về OOP
- LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG CHƯƠNG 1 TỔNG QUAN VỀ OOP
- Nội dung ◼ 1. Lập trình hướng đối tượng ◼ 2. Công nghệ hướng đối tượng ◼ 3. Ngôn ngữ lập trình Java ◼ 4. Ví dụ và bài tập Tổng quan OOP 2
- 1.1 Lịch sử phát triển của ngôn ngữ lập trình ◼ a. Hợp ngữ (assembly language) Là một ngôn ngữ lập trình tuần tự Khó nhớ, khó viết, nhất là đối với những bài toán phức tạp Khó sửa lỗi, bảo trì Tổng quan OOP 3
- 1.1 Lịch sử phát triển của ngôn ngữ lập trình ◼ b. NNLT cấu trúc/thủ tục Xây dưng chương trình dựa trên các hàm/thủ tục/chương trình con Dữ liệu và xử lý (hàm) tách rời nhau Các hàm không bắt buộc phải tuân theo một cách thức chung truy cập vào dữ liệu Tổng quan OOP 4
- 1.1 Lịch sử phát triển của các NNLT ◼ c. Ngôn ngữ lập trình hướng đối tượng Thể hiện các thành phần của bài toán là các “đối tượng” (Object) Hướng đối tượng là một kỹ thuật để mô hình hoá hệ thống thành nhiều đối tượng Tổng quan OOP 5
- 1.2 Đối tượng là gì ◼ Đối tượng trong thế giới thực Ví dụ một khách hàng sử dụng thẻ ATM ◼ Liên quan tới khách hàng Các thông tin cá nhân: tên, tuổi, số tài khoản, lượng tiền đang có trong tài khoản Hoạt động: Đăng ký làm thẻ ATM, huỷ thẻ, Rút tiền, nạp tiền, Tổng quan OOP 6
- Đối tượng trong thế giới thực ◼ Một đối tượng trong thế giới thực là một thực thể cụ thể mà thông thường chúng ta có thể sờ,nhìn thấy hay cảm nhận được Trạng thái Hành động Con chó Tên Sủa Tất cả có trạng Màu Vẩy tai thái (state) và Giống Chạy hành động ăn (behavior) Xe đạp Bánh xe Tăng tốc Bàn đạp Giảm tốc Dây xích Chuyển bánh răng Tổng quan OOP 7
- Đối tượng phần mềm ◼ Các đối tượng phần mềm có thể được dùng để biểu diễn các đối tượng trong thế giới thực ◼ Cũng có trạng thái và hành động Trạng thái: thuộc tính (attribute, property) Thuộc tính Hành động: Phương thức (method) Đối tượng (object) là một thực thể phần mềm bao bọc thuộc tính và các phương thức liên quan Thuộc tính được xác định bởi các giá trị gọi là thuộc tính thể hiện Một thuộc tính cụ thể được gọi là một thể hiện Phương thức Tổng quan OOP 8
- Tương tác giữa các đối tượng ? Tổng quan OOP 9
- Hướng cấu trúc vs Hướng ĐT ◼ Hướng cấu trúc Data structiures + algorithms = Program ◼ Hướng đối tượng Object + message = Program Tổng quan OOP 10
- 1.3 Lớp đối tượng ◼ Trong thế giới có nhiều đối tượng cùng loại Ví dụ: Tên, Tuổi, Trường, Khoa, đăng kí học, → ? Bạn nghĩ tới ? ◼ Một lớp là một thiết kế (blueprint) hay mẫu (prototype) cho các đối tượng cùng kiểu → Lớp sẽ định nghĩa tất cả các thuộc tính và phương thức chung cho tất cả các đôi tượng của cùng một loại nào đó Ví dụ: mỗi một đối tượng sinh viên là một thể hiện của lớp sinh viên ◼ Mỗi thể hiện có thể có những thuộc tính thể hiện khác nhau. Ví dụ ? Tổng quan OOP 11
- Nội dung ◼ 1. Lập trình hướng đối tượng ◼ 2. Công nghệ hướng đối tượng ◼ 3. Ngôn ngữ lập trình Java ◼ 4. Ví dụ và bài tập Tổng quan OOP 12
- 2. Công nghệ đối tượng (OT) ◼ Công nghệ đối tương là một tập các quy tắc (trừu tượng hoá, đóng gói, đa hình), các hướng dẫn để xây dựng phần mềm, cùng với ngôn ngữ, cơ sở dữ liệu và các công cụ khác hỗ trợ các quy tắc này Simula C++ The UML 1967 1980 1995 1972 1991 2004 smaltalk Java UML 2.0 Tổng quan OOP 13
- 2.1 OT được sử dụng ở đâu ◼ Các hệ thống client/server và phát triển web ◼ Hệ nhúng ◼ Hệ thống thời gian thực (real-time) Tổng quan OOP 14
- 2.2 Các nguyên lý cơ bản của OO HƯỚNG ĐỐI TƯỢNG Trừu Đáng Modun Phân tượng gói hoá cấp hoá Tổng quan OOP 15
- a. Trừu tượng hoá ◼ Tính trừu tượng được sử dụng để quản lý các đối tượng phức tạp Tập trung vào các thuộc tính cần thiết Tóm lược nội dung chính của vấn đề Tìm ra những điểm chung giữa các đối tượng ◼ Định nghĩa một giao kèo chung Định nghĩa giao kèo chung cho các người sử dụng đối tượng Quy hoạch “outsite -view” Độc lập của sự thi hành Tổng quan OOP 16
- b. Đóng gói (Encapsulation) ◼ Che dấu, ẩn đi chi tiết thực hiện bên trong Cung cấp cho thế giới bên ngoài một giao diên Người dùng ko phụ thuộc vào việc sửa đổi, thực thi bên trong → Tăng cường tính mềm dẻo Tổng quan OOP 17
- Implementation Outside View Order int orderNum Public methods int custNum of Order CalculatePrice( ) PUBLIC: CreateOrder( ) CreateOrder UpdateOrder( ) UpdateOrder GetOrderTotal( ) GetOrderTotal Next( ) Next Tổng quan OOP 18
- c. Modun hoá ◼ Chia nhỏ hệ thống phức tạp thành những thành phần nhỏ có thể quản lý được ◼ Cho phép người dùng hiểu biết về hệ thống Tổng quan OOP 19
- d. Phân cấp (Hierarchy) Tài sản is is Tài khoản ngân hàng Chưng khoán Tiết kiệm Tiền gửi Tổng quan OOP 20
- Nội dung ◼ 1. Lập trình hướng đối tượng ◼ 2. Công nghệ hướng đối tượng ◼ 3. Ngôn ngữ lập trình Java ◼ 4. Ví dụ và bài tập Tổng quan OOP 21
- 3.1 Java là gì? ◼ Java là một ngôn ngữ lập trình HĐT được phát triển bở Sun Microsystems ◼ Java là một ngôn ngữ lập trình khá trẻ Ban đầu được sử dụng để xây dựng các ứng dụng điều khiển các bộ xử lý bên trong các thiết bị điện tử dân dụng như mobile, lò vi sóng. Bắt đầu được sử dụng từ năm 1995 Tổng quan OOP 22
- 3.1 Java là g ◼ Ngày nay, nhắc tới Java, không còn nhắc tới như là một ngôn ngữ lập trình mà còn là một công nghệ, một nền tảng phát triển. ◼ Java có một cộng đồng phát triển mạnh mẽ Một tập hợp các thư viện với số lượng lớn (từ Sun và các nguồn khác) Tổng quan OOP 23
- Tổng quan OOP 24
- J2SE (Java 2 Platform Standard Edition) ◼ ◼ Java 2 Runtime Environment, Standard Edition (J2RE): Môi trường thực thi hay JRE cung cấp các Java API, máy ảo Java (JVM) và các thành phần cần thiết khác để chạy cá applet và các ứng dụng viết bằng Java ◼ Java 2 Software Development Kit, Standard Edition (J2SDK) Tập mẹ của JRE, và chứa mọi thứ nằm trong JRE, bổ xung thêm các công cụ như là trình biên dịch và các trình gỡ lỗi cần để phát triển một applet và các ứng dụng Tổng quan OOP 25
- J2EE (Java 2 platform Enterprise Edition) ◼ ◼ Service-Oriented Architecture (SOA) và web service ◼ Các ứng dụng web Servlet/JSP JSF ◼ Các ứng dụng doanh nghiệp EJB Java mail Tổng quan OOP 26
- 3.2 Nền tảng của Java (Java PlatForm) ◼ Platform là môi trường phát triển hoặc triển khai ◼ Java platform có thể chạy trên mọi hệ điều hành Java Program Các platform khác nhau nhụ thuộc Java API vào phần cứng Java Platform cung cấp: JMV ◼ Máy ảo Java (JVM) ◼ Giao diện lập trình ứng dụng (API) Host PlatForm Tổng quan OOP 27
- 3.3 Mô hình dịch của Java ◼ a. Mô hình biên dịch truyền thống Mã nguồn được biên dịch thành mã nhị phân Tổng quan OOP 28
- 3.3 Mô hình dịch của Java ◼ b. Mô hình biên dịch của Java Tổng quan OOP 29
- 3.3 Mô hình dịch của Java ◼ Máy ảo Java (Java vitual Machine) Máy ảo Java là trái tim của ngôn ngũ Java ◼ Đem đến cho các chương trình Java khả năng viết một lần nhưng chạy được ở mọi nơi Tạo ra môi trường bên trong để thực thi lệnh: ◼ Nạp các file .class ◼ Quản lý bộ nhớ ◼ Dọn rác Trình thông dịch “Just In Time -JIT” ◼ Chuyển tập lệnh Bytecode thành mã máy cụ thể cho từng loại CPU Tổng quan OOP 30
- 3.4 Các đặc điểm của Java ◼ Mạnh mẽ ◼ Hướng đối tượng ◼ Đơn giản ◼ Network capable ◼ Đa luồng ◼ Khả chuyển (Portable) ◼ Công cụ phát triển rẻ (miễn phí rất nhiều) Tổng quan OOP 31
- 3.5 Các kiểu chương trình Java ◼ Ứng dụng (application) Không chạy được trên trình duyệt Có thể gọi các chức năng thông qua dòng lệnh hoặc menu lựa chọn (đồ hoạ) Phương thức main() là điểm bắt đầu thực hiện ứng dụng ◼ Applet Chương trình đồ hoạ chạy trên trình duyệt lại máy trạm Có thể được xem bằng Appletviewer hoặc nhúng trong trình duyệt web có cài JVM Tổng quan OOP 32
- 3.5 Các kiểu chương trình Java ◼ Ứng dụng web (web application) Tạo ra các nội dung động trên server thay cho trình duyệt Chạy trong các ứng dụng server Servlet: kiểm tra các phản hổi từ trình duyệt và trả lại các phản hồi JavaServer Page (JSP): Các trang HTML được nhúng vào với mã Java Tổng quan OOP 33
- 3.5 Cài đặt và chạy thử Java ◼ Bước 1: Cài đặt JDK 1.6 ◼ Bước 2: Cài đặt trình soạn thảo (netbean 1.6) ◼ Bước 3: Lập trình/Viết mã nguồn ◼ Bước 4: dịch ◼ Bước 5: Chạy chương trình Tổng quan OOP 34
- Tổng quan OOP 35
- Ví dụ 2: hiển thị dữ liệu Tổng quan OOP 36
- Ví dụ 3: nhập xuất dữ liệu Tổng quan OOP 37
- 1.4 Bài tập về nhà ◼ 1. Cài đặt môi trường lập trình (jdk 1.6 + netbean 6.0 hoặc các phiên bản về sau) ◼ 2. Viết chương trình nhập 2 số nguyên và hiển thị 2 số nguyên vừa nhập Tổng quan OOP 38