Chủ Nhật, 2 tháng 3, 2014

Tài liệu Java_ Lập trình hướng đối tượng pdf

OOP: Khái niệm
5
NguyễnViệtHà
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
OOP: Khái niệm
6
NguyễnViệtHà
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
OOP: Khái niệm
7
NguyễnViệtHà
Để 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
OOP: Khái niệm
8
NguyễnViệtHà
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
OOP: Khái niệm
9
NguyễnViệtHà
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ư Assembly, 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
OOP: Khái niệm
10
NguyễnViệtHà
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
OOP: Khái niệm
11
NguyễnViệtHà
Lập trình có cấu trúc/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
OOP: Khái niệm
12
NguyễnViệtHà
Ví dụ
struct Date {
int year, mon, day;
};

print_date(Date d) {
printf(”%d / %d / %d\n”, d.day,
d.mon, d.year);
}
OOP: Khái niệm
13
NguyễnViệtHà
Lập trình có cấu trúc/lập trình thủ tục
 Nhược điểm
 dữ liệu và mã xử lý là tách rời
 người lập trình phải biết cấu trúc dữ liệu (vấn đề này
một thời gian dài được coi là hiển nhiên)
 khi thay đổi cấu trúc dữ liệu thì mã xử lý (thuật toán)
phải thay đổi theo
 khó đảm bảo tính đúng đắn của dữ liệu
 không tự động khởi tạo hay giải phóng dữ liệu động
OOP: Khái niệm
14
NguyễnViệtHà
Tại sao phải thay đổi cấu trúc dữ liệu?
 Cấu trúc dữ liệu là mô hình của bài toán cần giải
quyết
 Do thiếu kiến thức về bài toán, về miền ứng dụng ,
không phải lúc nào cũng tạo được cấu trúc dữ liệu
hoàn thiện ngay từ đầu.
 Tạo ra một cấu trúc dữ liệu hợp lý luôn là vấn đề đau
đầu của người lập trình.
 Bản thân bài toán cũng không bất biến
 Cần phải thay đổi cấu trúc dữ liệu để phù hợp với các
yêu cầu thay đổi.

Không có nhận xét nào:

Đăng nhận xét