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

Giới thiệu phương pháp lập trình hướng đối tượng

Chia sẻ: Nguyen Ha | Ngày: | Loại File: PDF | Số trang:35

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

 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ệ Object-oriented programming .Độ 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

Chủ đề:
Lưu

Nội dung Text: Giới thiệu phương pháp lập trình hướng đối tượng

  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