intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Lập trình hướng đối tượng: Chương 1 - Trần Minh Thái (2016)

Chia sẻ: Hấp Hấp | Ngày: | Loại File: PPTX | Số trang:40

53
lượt xem
5
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng "Lập trình hướng đối tượng - Chương 1: Giới thiệu cung cấp cho người học các kiến thức về: Khái niệm về phương pháp lập trình, tổng quan các phương pháp lập trình, giới thiệu những đặc điểm và những vấn đề mới trong phương pháp lập trình hướng đối tượng.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Lập trình hướng đối tượng: Chương 1 - Trần Minh Thái (2016)

  1. Lập trình Hướng đối tượng (Object Oriented Programming) Chương 1. Giới thiệu TRẦN MINH THÁI Email: minhthai@huflit.edu.vn Website: www.minhthai.edu.vn  Cập nhật: 08 tháng 06 năm 2016
  2. Tài liệu tham khảo #2 • Trần Minh Thái, Bài giảng & bài tập Lập trình hướng đối tượng trên Web site: www.minhthai.edu.vn • Scott Robert Ladd, C++ kỹ thuật và ứng dụng (Nguyễn Hùng biên dịch) • Trần Văn Lăng, Lập trình hướng đối tượng với C++ • Stroustrup, Bjarne, The C++ Programming Language, Reading, MA: Addison-Wesley (1993) • Bruce Eckel, Thinking in C++ 2nd edition, Vol.1&2 • Dietel & Dietel. C++ How to Program, 3rd edition
  3. Nội dung học phần #3 • Chương 1. Giới thiệu lập trình hướng đối tượng (3 tiết) • Chương 2. Giới thiệu ngôn ngữ C++ (6 tiết) • Chương 3. Lớp và đối tượng (9 tiết) • Chương 4. Đa năng hoá toán tử (6 tiết) • Chương 5. Kế thừa đơn và đa kế thừa (9 tiết) • Chương 6. Đa hình (6 tiết)
  4. Chương 1. Giới thiệu OOP #4 Nội dung 1. Khái niệm về phương pháp lập trình 2. Tổng quan các phương pháp lập trình 3. Giới thiệu những đặc điểm và những vấn đề mới trong phương pháp lập trình hướng đối tượng
  5. Phương pháp lập trình (PPLT)? #5 • Xây dựng phần mềm bao gồm rất nhiều công đoạn: phân tích & thiết kế, cài đặt, kiểm tra/thử nghiệm và bảo trì • Cài đặt (programming/coding) chỉ là 1 phần trong quá trình trên
  6. Phương pháp lập trình? #6 • C++/C#/Java/v.v… là NNLT để viết chương trình • PPLT là hệ thống hướng dẫn các giai đoạn cần thiết, cấu trúc của một chương trình • PPLT là các cách tiếp cận giúp cho quá trình cài đặt hiệu quả hơn
  7. Các yêu cầu chính của phần mềm #7 • Tính tái sử dụng (reusability) • Tính mở rộng (extensibility) • Tính mềm dẻo (flexibility)
  8. Các phương pháp lập trình #8 Thời gian đầu 1960 – 1970 1980
  9. (1) Lập trình tuyến tính #9 • Chương  trình  là  ̣ ̃y các lênh môt da ̣ • Lập trình là viết các  lệnh trong dãy lệnh • Không mang tính thiết kế • Tiêu biểu là ngôn ngữ Basic, Fortran
  10. (1) Lập trình tuyến tính: Đặc điểm #10 • Chương trình đơn giản, số dòng lệnh ít • Thực hiện trình tự từ đầu đến cuối • Không có cấu trúc • Dùng các lệnh “goto/ gosub” để nhảy đến một vị trí nào đó trong chương trình
  11. (2) Lập trình có cấu trúc #11 • Chương trình là một hệ thống các thủ tục/ hàm. Mỗi thủ tục/ hàm là một dãy các lệnh • Lập trình là xây dựng các thủ tục/ hàm • Kết quả là hệ thống cấu trúc và mối quan hệ giữa các hàm/ thủ tục • Tiêu biểu là ngôn ngữ Pascal, C
  12. (2) Lập trình có cấu trúc #12 • Khái niệm trừu tượng hóa (abstraction) theo chức năng: Làm được gì, không quan tâm chi tiết bên trong • Phân chia công việc thành các chức năng đơn giản hơn gọi là lập trình đơn thể (module)
  13. (2) Lập trình có cấu trúc: Đặc điểm #13 Ưu điểm • Đơn giản hóa quá trình thiết kế và cài đặt • Dễ đọc chương trình, hiểu chi tiết bài toán • Các chương trình con tương đối độc lập, dễ phân công cho từng nhóm
  14. (2) Lập trình có cấu trúc: Đặc điểm #14 Khuyết điểm Khi thay đổi dữ liệu thì phải thực hiện các thay đổi ở mọi đơn thể có tác động trên chúng Hàm và dữ liệu không có quan hệ với nhau Hàm không hạn chế truy nhập tới các biến toàn cục
  15. (2) Lập trình có cấu trúc: Đặc điểm #15 Khuyết điểm • Sai sót trong việc trao đổi thông tin giữa các thành viên trong nhóm có thể mất nhiều thời gian để sửa chữa chương trình • Phần xử lý nằm rải rác và phải hiểu rõ cấu trúc dữ liệu • Khó bảo trì chương trình
  16. (3) Lập trình Hướng đối tượng #16 (Object-oriented Programming) • Tư duy mới, tiếp cận theo hướng đối tượng để giải các bài toán trên máy tính • Thiết kế và phát triển phần mềm dựa trên kiến trúc lớp và đối tượng
  17. (3) Lập trình Hướng đối tượng #17 (Object-oriented Programming) Mục tiêu • Loại bỏ những thiếu sót của tiếp cận theo thủ tục • Tiếp cận theo hướng trừu tượng hoá (abstraction) • Dữ liệu được xem là phần trung tâm và được bảo vệ
  18. (3) Lập trình Hướng đối tượng #18 (Object-oriented Programming) Mục tiêu • Phân tách bài toán thành nhiều đối tượng và yêu cầu chúng thực hiện hành động của mình • Tăng cường khả năng sử dụng lại • Tiếp cận bottom-up
  19. (3) Lập trình Hướng đối tượng #19 (Object-oriented Programming) Ưu điểm • Cung cấp một cấu trúc module rõ ràng: Giao diện định nghĩa rõ ràng và chi tiết cài đặt ẩn • Duy trì và sửa đổi mã nguồn dễ dàng • Cung cấp framework tốt với các thư viện mã nguồn
  20. Sự trừu tượng hóa #20 (Abstraction)? • Trừu tượng hóa • Giao diện – Cài đặt • Cái gì – Thế nào • Phân tích – Thiết kế • Các kỹ thuật trừu tượng • Đóng gói (encapsulation) • Ẩn thông tin (information hiding) • Thừa kế (inheritance) • Đa hình (polymorphism)
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2