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 - Nguyễn Hữu Thể

Chia sẻ: Sơn Nam | Ngày: | Loại File: PDF | Số trang:35

53
lượt xem
3
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 phương pháp lập trình hướng đối tượng" cung cấp cho người đọc các kiến thức: Phương pháp lập trình truyền thống, phương pháp lập trình hướng đối tượng, ưu điểm của LT HĐT so với lập trình truyền thống, phương pháp phân tích bài toán theo tiếp cận HĐT. Mời các bạn cùng tham khảo.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Lập trình hướng đối tượng: Chương 1 - Nguyễn Hữu Thể

  1. LẬP TRÌNH HƢỚNG ĐỐI TƢỢNG Nguyễn Hữu Thể CHƢƠNG 1 GIỚI THIỆU PHƢƠNG PHÁP LẬP TRÌNH HƢỚNG ĐỐI TƢỢNG 1
  2. NỘI DUNG 1 Phương pháp lập trình truyền thống 2 Phương pháp lập trình hướng đối tượng 3 Ưu điểm của LT HĐT so với lập trình truyền thống 4 Phương pháp phân tích bài toán theo tiếp cận HĐT 5 2 Object-oriented programming
  3. Mục tiêu của kỹ sƣ phần mềm  Tạo ra sản phẩm tốt một cách có hiệu quả  Nắm bắt được công nghệ 3 Object-oriented programming
  4. Độ phức tạp, độ lớn PM ngày càng cao  Một số hệ Unix chứa khoảng 4 triệu 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 4 Object-oriented programming
  5. Độ phức tạp, độ lớn PM ngày càng cao  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 (tái sử dụng)  Giảm chi phí và thời gian phát triển  Nâng cao chất lượng 5 Object-oriented programming
  6. Để sử dụng lại mã nguồn  Cần dễ hiểu  Chính xác  Giao diện rõ ràng  Tính module hóa  Không yêu cầu thay đổi khi sử dụng trong chương trình mới 6 Object-oriented programming
  7. Kỹ thuật lập trình truyền thống & HĐT  Phương pháp lập trình truyền thống  Phương pháp lập trình hướng đối tượng  Ưu điểm của lập trình OOP so với lập trình truyền thống  Phương pháp phân tích bài toán theo tiếp cận hướng đối tượng 7 Object-oriented programming
  8. 1. Phƣơng pháp lập trình truyền thống  Lập trình không có cấu trúc (unstructured programming)  Là phương pháp xuất hiện đầu tiên  Các ngôn ngữ như Assembly, Basic  Sử dụng các biến toàn cục  Lạm dụng lệnh GOTO  Không sử dụng hàm, viết tất cả trong một hàm main() 8 Object-oriented programming
  9. Lập trình không có cấu trúc  Cho phép viết những đoạn mã rối rắm (spaghetti code).  Lập trình viên sử dụng các lệnh goto” và “gosub” để nhảy đến mọi nơi trong chương trình. 10 k=1 20 gosub 100 30 if y > 120 goto 60 40 k = k + 1 lệnh nhảy đến vị trí 50 goto 20 bất kỳ trong chương 60 print k, y trình 70 stop 100 y = 3*k*k + 7*k - 3 110 return Đoạn trình trên khó theo dõi, khó hiểu, dễ gây lỗi, khó sửa đổi. 9 Object-oriented programming
  10. Lập trình không có cấu trúc  Nhƣợc điểm:  Gặp khó khăn khi xây dựng các chương trình lớn.  Hầu như không thể sử dụng lại  Những dòng lệnh được lặp lại thì buộc phải copy thành nhiều chỗ  Chương trình sẽ không khoa học, khó sửa chữa và bảo trì. 10 Object-oriented programming
  11. Lập trình thủ tục (procedure programming)  Lấy các thủ tục (hàm) làm nền tảng xây dựng chương trình.  Các ngôn ngữ: Pascal, C, ...  Chương trình  Được phân nhỏ thành các thủ tục,  Mỗi thủ tục sẽ có chức năng riêng biệt.  Các thủ tục có thể gọi qua lại lẫn nhau. 11 Chƣơng trình = Cấu trúc dữ liệu + Giải thuật Object-oriented programming
  12. Lập trình thủ tục (tt) Kiểu lập trình rối int LuyThua(int x, int y){ rắm trên dẫn tới int t=1; phong cách lập trình for(int i=1; i
  13. Lập trình thủ tục (tt)  Ƣu điểm:  Chương trình được tổ chức khoa học, dễ quản lý, bảo trì  Giải quyết được nhiều bài toán lớn  Nhóm các thủ tục theo các chức năng: Lập trình module  Nhƣợc điểm:  Cách tiếp cận đôi khi chưa phù hợp với các hoạt động trong thế giới thực  Diễn đạt thiếu tự nhiên  Khó mô tả những quan hệ phức tạp của thế giới tự nhiên.  Bảo mật kém 13 Object-oriented programming
  14. Lập trình thủ tục (tt)  Nhƣợc điểm:  Bảo mật kém do không thể giới hạn truy xuất đến một dữ liệu struct Date { int day; int month; int year; }; void setDate(Date& date, int newDay, int newMonth, int newYear) { date.day = newDay; Chuyện gì xảy ra nếu các đối số ... newDay, newMonth, newYear } tạo thành ngày tháng năm không hợp lệ? ... 14 Object-oriented programming
  15. 2. Lập trình hƣớng đối tƣợng Lập trình hướng đối tượng (Object-oriented programming)  Dữ liệu, chức năng thao tác trên dữ liệu được gom lại thành 1 đối tượng  Chương trình không dựa trên chức năng mà dựa trên đối tượng. 15 Object-oriented programming
  16. 2. Lập trình hƣớng đối tƣợng (tt)  Dữ liệu được gắn chặt với các hàm riêng • Chỉ có các hàm đó tác động lên, • Các hàm bên ngoài không thể truy cập.  Cho phép phân tích bài toán thành: • Các thực thể (đối tượng) • Xây dựng các dữ liệu cùng các hàm xung quanh các đối tượng. 16 Object-oriented programming
  17. 2. Lập trình hƣớng đối tƣợng (tt)  Lập trình hướng đối tượng cho phép khắc phục các hạn chế của các phương pháp trước class Date{ public: void setDate(int newDay, int newMonth, int newYear); int getDay() { return day; } ... private: int day; int month; int year; }; void Date::setDate(int newDay, int newMonth, int newYear){ //check validity of newDay, newMonth, newYear ... //set new values ... } 17 Object-oriented programming
  18. 2. Lập trình hƣớng đối tƣợng (tt)  Dựa trên ý tưởng  Xem thế giới là tuyển tập các đối tượng • VD: bạn, những người bạn cùng lớp với bạn, con chó, ĐTDĐ của bạn.  Có sự tương tác giữa các đối tượng bên trong ứng dụng. • VD: bạn có một con chó, bạn gọi điện thoại bằng ĐTDĐ của bạn, bạn nói chuyện với bạn cùng lớp của bạn. Dữ liệu + chức năng/xử lý => đối tƣợng (thuộc tính) (phương thức)  Một đối tượng đóng bao cả dữ liệu và các phương thức. 18 Object-oriented programming
  19. 2. Lập trình hƣớng đối tƣợng (tt)  Một số ngôn ngữ lập trình hƣớng đối tƣợng  Simula (1967)  Smalltalk (1980)  C++ (1980s)  C#  Java  PHP  Perl  … 19 Object-oriented programming
  20. 2. Lập trình hƣớng đối tƣợng (tt)  Một số ngôn ngữ lập trình hƣớng đối tƣợng  Xuất phát từ tư tưởng OOP của ngôn ngữ SIMULA67,  Trung tâm nghiên cứu Palo Alto (hãng XEROR) nghiên cứu ngôn ngữ OOP đầu tiên với tên Smalltalk.  Sau đó các ngôn ngữ OOP lần lượt ra đời như Eiffel, C++, Delphi, Java, PHP, C#…  XEROR đã đề ra tư tưởng giao diện biểu tượng trên màn hình (icon base screen interface)  Apple Macintosh, Microsoft Windows phát triển giao diện đồ họa.  Trong Microsoft Windows, tư tưởng OOP được thể hiện: • Chúng ta click vào đối tượng • Mỗi đối tượng có thể là control menu, control menu box, menu bar, scroll bar, button, minimize box,... 20 Object-oriented programming
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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