Bài giảng môn Lập trình hướng đối tượng - Chương 1: Tổng quan về OOP
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
Bạn đang xem trước 20 trang tài liệu Bài giảng môn Lập trình hướng đối tượng - Chương 1: Tổng quan về OOP, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
LẬP TRÌNH HƯỚNG ĐỐI TƯỢNGCHƯƠNG 1TỔNG QUAN VỀ OOPTổng quan OOP2Nội dung1. Lập trình hướng đối tượng2. Công nghệ hướng đối tượng3. Ngôn ngữ lập trình Java4. Ví dụ và bài tập1.1 Lịch sử phát triển của ngôn ngữ lập trìnha. 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ạpKhó sửa lỗi, bảo trìTổng quan OOP31.1 Lịch sử phát triển của ngôn ngữ lập trìnhb. NNLT cấu trúc/thủ tụcXây dưng chương trình dựa trên các hàm/thủ tục/chương trình conDữ liệu và xử lý (hàm) tách rời nhauCá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ệuTổng quan OOP41.1 Lịch sử phát triển của các NNLTc. Ngôn ngữ lập trình hướng đối tượngThể 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 OOP51.2 Đối tượng là gìĐối tượng trong thế giới thựcVí dụ một khách hàng sử dụng thẻ ATMLiên quan tới khách hàngCá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ảnHoạt động: Đăng ký làm thẻ ATM, huỷ thẻ, Rút tiền, nạp tiền,Tổng quan OOP6Đối tượng trong thế giới thựcMộ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 đượcTổng quan OOP7Tất cả có trạng thái (state) và hành động (behavior)Trạng tháiHành độngCon chóTênMàuGiốngSủaVẩy taiChạyănXe đạpBánh xeBàn đạpDây xíchTăng tốcGiảm tốcChuyển bánh răngĐố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ựcCũng có trạng thái và hành độngTrạng thái: thuộc tính (attribute, property)Hành động: Phương thức (method)Tổng quan OOP8Thuộc tínhPhương thứcĐố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 quanThuộ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ệnTương tác giữa các đối tượng ?Tổng quan OOP9Hướng cấu trúc vs Hướng ĐTHướng cấu trúcData structiures + algorithms = ProgramHướng đối tượngObject + message = ProgramTổng quan OOP101.3 Lớp đối tượngTrong thế giới có nhiều đối tượng cùng loạiVí 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ểuLớ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ênMỗi thể hiện có thể có những thuộc tính thể hiện khác nhau.Ví dụ ?Tổng quan OOP11Tổng quan OOP12Nội dung1. Lập trình hướng đối tượng2. Công nghệ hướng đối tượng3. Ngôn ngữ lập trình Java4. Ví dụ và bài tập2. 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àyTổng quan OOP131967Simula1972smaltalk1980C++1991Java2004UML 2.01995The UML2.1 OT được sử dụng ở đâuCác hệ thống client/server và phát triển webHệ nhúngHệ thống thời gian thực (real-time)Tổng quan OOP142.2 Các nguyên lý cơ bản của OOTổng quan OOP15Modun hoáPhân cấpHƯỚNG ĐỐI TƯỢNGTrừu tượng hoáĐáng góia. Trừu tượng hoáTổng quan OOP16Tính trừu tượng được sử dụng để quản lý các đối tượng phức tạpTập trung vào các thuộc tính cần thiếtTó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ànhb. Đóng gói (Encapsulation) Che dấu, ẩn đi chi tiết thực hiện bên trongCung cấp cho thế giới bên ngoài một giao diênNgườ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ẻoTổng quan OOP17Tổng quan OOP18Public methods of Order Implementation Outside ViewCreateOrderUpdateOrderGetOrderTotalNextOrderint orderNumint custNumCalculatePrice( )PUBLIC:CreateOrder( )UpdateOrder( )GetOrderTotal( )Next( )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ý đượcCho phép người dùng hiểu biết về hệ thốngTổng quan OOP19d. Phân cấp (Hierarchy)Tổng quan OOP2020Tài sảnTài khoản ngân hàngChưng khoánis isTiết kiệm Tiền gửiTổng quan OOP21Nội dung1. Lập trình hướng đối tượng2. Công nghệ hướng đối tượng3. Ngôn ngữ lập trình Java4. Ví dụ và bài tập3.1 Java là gì?Java là một ngôn ngữ lập trình HĐT được phát triển bở Sun MicrosystemsJava 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 1995Tổng quan OOP223.1 Java là gNgà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 OOP23Tổng quan OOP24J2SE (Java 2 Platform Standard Edition) 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 JavaJava 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ụngTổng quan OOP25J2EE (Java 2 platform Enterprise Edition) Architecture (SOA) và web serviceCác ứng dụng webServlet/JSPJSFCác ứng dụng doanh nghiệpEJBJava mailTổng quan OOP263.2 Nền tảng của Java (Java PlatForm)Tổng quan OOP27Platform là môi trường phát triển hoặc triển khaiJava platform có thể chạy trên mọi hệ điều hànhCác platform khác nhau nhụ thuộc vào phần cứngJava Platform cung cấp:Máy ảo Java (JVM)Giao diện lập trình ứng dụng (API)JMVHost PlatFormJava ProgramJava API3.3 Mô hình dịch của Javaa. Mô hình biên dịch truyền thốngMã nguồn được biên dịch thành mã nhị phân Tổng quan OOP283.3 Mô hình dịch của Java b. Mô hình biên dịch của JavaTổng quan OOP293.3 Mô hình dịch của JavaMá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ơiTạo ra môi trường bên trong để thực thi lệnh:Nạp các file .classQuản lý bộ nhớDọn rácTrì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 CPUTổng quan OOP303.4 Các đặc điểm của JavaMạ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 OOP313.5 Các kiểu chương trình Java Ứng dụng (application)Không chạy được trên trình duyệtCó 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ụngAppletChương trình đồ hoạ chạy trên trình duyệt lại máy trạmCó thể được xem bằng Appletviewer hoặc nhúng trong trình duyệt web có cài JVMTổng quan OOP323.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ệtChạy trong các ứng dụng serverServlet: kiểm tra các phản hổi từ trình duyệt và trả lại các phản hồiJavaServer Page (JSP): Các trang HTML được nhúng vào với mã JavaTổng quan OOP333.5 Cài đặt và chạy thử JavaBước 1: Cài đặt JDK 1.6Bướ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ồnBước 4: dịch Bước 5: Chạy chương trìnhTổng quan OOP34Tổng quan OOP35Ví dụ 2: hiển thị dữ liệuTổng quan OOP36Ví dụ 3: nhập xuất dữ liệuTổng quan OOP371.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ậpTổng quan OOP38