Nội dung chương 3 trình bày đến người học những vấn đề liên quan đến "Lập trình hướng đối tượng", cụ thể như: Lịch sử phát triển của kỹ thuật lập trình, hạn chế của kỹ thuật lập trình truyền thống, khái niệm lập trình hướng đối tượng, đóng gói/Che dấu thông tin,. | CÔNG NGHỆ JAVA CH3. LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Quang Dieu Tran PhD Nội dung Lịch sử phát triển của kỹ thuật lập trình Hạn chế của kỹ thuật lập trình truyền thống Khái niệm lập trình hướng đối tượng Đóng gói / Che dấu thông tin 5/14/2020 6:23:19 AM Phần mềm ngày càng lớn Một số hệ Unix chứa khoảng 4M dòng lệnh MS Windows chứa hàng chục triệu dòng lệnh Người dùng ngày càng đòi hỏi nhiều chức năng, đặc biệt là chức năng thông minh Phần mềm luôn cần được sửa đổi 5/14/2020 6:23:19 AM Vì vậy Cần kiểm soát chi phí Chi phí phát triển Chi phí bảo trì Giải pháp chính là sử dụng lại Giảm chi phí và thời gian phát triển Nâng cao chất lượng 5/14/2020 6:23:19 AM Để sử dụng lại (mã nguồn) Cần dễ hiểu Được coi là chính xác Có giao diện rõ ràng Không yêu cầu thay đổi khi sử dụng trong chương trình mới 5/14/2020 6:23:19 AM Các phương pháp lập trình Lập trình không có cấu trúc Lập trình có cấu trúc (lập trình thủ tục) Lập trình chức năng Lập trình logic Lập trình hướng đối tượng 5/14/2020 6:23:19 AM Lập trình không có cấu trúc (non-structured programming) Là phương pháp xuất hiện đầu tiên: Các ngôn ngữ như: Asembly, Basic Sử dụng các biến tổng thể Lạm dụng lệnh GOTO Các nhược điểm: Khó hiểu, khó bảo trì, hầu như không thể sử dụng lại Chất lượng kém Chi phí cao Không thể phát triển các ứng dụng lớn 5/14/2020 6:23:19 AM Ví dụ 10 k =1 20 gosub 100 30 if y > 120 goto 60 40 k = k+1 50 goto 20 60 print k, y 70 stop 100 y = 3*k*k + 7*k-3 110 return 5/14/2020 6:23:19 AM Lập trình thủ tục (structured/procedural programming) Sử dụng các lệnh có cấu trúc: for, do while, if then else. Các ngôn ngữ: Pascal, C, . Chương trình là tập các hàm/thủ tục Ưu điểm chương trình được cục bộ hóa, do đó dễ hiểu, dễ bảo trì hơn dễ dàng tạo ra các thư viện phần mềm 5/14/2020 6:23:19 AM Ví dụ struct Date { int year, mon, day; }; . print_date(Date d) { printf(”%d / %d / %d\n”, , , ); } 5/14/2020 6:23:19 AM Lập trình có cấu trúc/lập trình thủ tục . | CÔNG NGHỆ JAVA CH3. LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Quang Dieu Tran PhD Nội dung Lịch sử phát triển của kỹ thuật lập trình Hạn chế của kỹ thuật lập trình truyền thống Khái niệm lập trình hướng đối tượng Đóng gói / Che dấu thông tin 5/14/2020 6:40:47 AM Phần mềm ngày càng lớn Một số hệ Unix chứa khoảng 4M dòng lệnh MS Windows chứa hàng chục triệu dòng lệnh Người dùng ngày càng đòi hỏi nhiều chức năng, đặc biệt là chức năng thông minh Phần mềm luôn cần được sửa đổi 5/14/2020 6:40:47 AM Vì vậy Cần kiểm soát chi phí Chi phí phát triển Chi phí bảo trì Giải pháp chính là sử dụng lại Giảm chi phí và thời gian phát triển Nâng cao chất lượng 5/14/2020 6:40:47 AM Để sử dụng lại (mã nguồn) Cần dễ hiểu Được coi là chính xác Có giao diện rõ ràng Không yêu cầu thay đổi khi sử dụng trong chương trình mới 5/14/2020 6:40:47 AM Các phương pháp lập trình Lập trình không có cấu trúc Lập trình có cấu trúc (lập trình thủ tục) Lập trình chức năng Lập trình logic Lập trình hướng đối tượng