Bài giảng Lập trình hướng đối tượng: Chương 1 - Nguyễn Hữu Thể
lượt xem 3
download
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.
Bình luận(0) Đăng nhập để gửi bình luận!
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ể
- 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
- 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
- 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
- Độ 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
- Độ 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
- Để 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Lập trình hướng đối tượng: Chương 1 - TS. Trần Công Án
57 p | 89 | 13
-
Bài giảng Lập trình hướng đối tượng: Chương 2 - Nguyễn Sơn Hoàng Quốc, ThS. Nguyễn Tấn Trần Minh Khang
14 p | 174 | 12
-
Bài giảng Lập trình hướng đối tượng - Chương 1: Phương pháp lập trình hướng đối tượng
9 p | 140 | 9
-
Bài giảng Lập trình hướng đối tượng C++ - Chương 2: Lập trình hướng đối tượng
53 p | 46 | 8
-
Bài giảng Lập trình hướng đối tượng (dùng Java): Chương 1 - Trần Minh Thái (2017)
55 p | 80 | 8
-
Bài giảng Lập trình hướng đối tượng - Bài 1: Tổng quan lập trình hướng đối tượng
53 p | 120 | 8
-
Bài giảng Lập trình hướng đối tượng (Dùng C#): Chương 2 - Trần Minh Thái
35 p | 103 | 8
-
Bài giảng Lập trình hướng đối tượng: Chương 1 - Trần Thị Anh Thi
7 p | 197 | 7
-
Bài giảng Lập trình hướng đối tượng: Bài 1 - ThS. Trịnh Thành Trung
53 p | 87 | 7
-
Bài giảng Lập trình hướng đối tượng: Chương 1 - Trần Minh Thái
40 p | 116 | 6
-
Bài giảng Lập trình hướng đối tượng 1: Chương 1 - ThS. Thái Kim Phụng
39 p | 100 | 6
-
Bài giảng Lập trình hướng đối tượng – Bài 01: Tổng quan về OOP
47 p | 63 | 5
-
Bài giảng Lập trình hướng đối tượng (dùng JAVA): Chương 1 - Trần Minh Thái
40 p | 99 | 5
-
Bài giảng Lập trình hướng đối tượng và C++: Chương 1
15 p | 104 | 4
-
Bài giảng Lập trình hướng đối tượng: Nhập môn - Trần Phước Tuấn
15 p | 139 | 4
-
Bài giảng Lập trình hướng đối tượng: Bài 1 - Tổng quan về lập trình hướng đối tượng
47 p | 11 | 4
-
Bài giảng Lập trình hướng đối tượng: Chương 1 - Các khái niệm cơ bản trong lập trình hướng đối tượng
36 p | 15 | 3
-
Bài giảng Lập trình hướng đối tượng: Bài 1 - Nguyễn Khanh Văn
0 p | 83 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn