LOGO
Lập trình
hướng đối tượng
(Object-Oriented Programming)
Phan Mạnh Thường
Thông tin về môn học
•
Số tiết lý thuyết : 45
•
Số tiết thực hành : 30
Thời lượng
Thời lượng
Thời lượng
Thời lượng
•
Kỹ thuật lập trình cơ bản
•
Cấu trúc dữ liệu
Điều kiện
Điều kiện
Điều kiện
Điều kiện
Cung cấp các kiến thức cơ bản về
•
Ngôn ngữ C++
•
Phân tích và thiết kế ứng dụng theo
phương pháp hướng đối tượng
Mục tiêu
Mục tiêu
Mục tiêu
Đánh giá
Đánh giá
Nội dung môn họcChương 1: Giới thiệu lập trình hướng đối tượng
Chương 1: Giới thiệu lập trình hướng đối tượngChương 2: Ngôn ngữ lập trình C++
Chương 2: Ngôn ngữ lập trình C++2Chương 3: Lớp đối tượng
Chương 3: Lớp đối tượng3
Chương 4: Nạp chồng toán tử và hàm
Chương 4: Nạp chồng toán tử và hàm4
Chương 5: Tính kế thừa
Chương 5: Tính kế thừa5
Chương 6: Tính đa hình
Chương 6: Tính đa hình5
Chương 7: Khuôn mẫu thiết kế
Chương 7: Khuôn mẫu thiết kế5
Giới thiệu phương pháp
lập trình hướng đối tượng
Chương 1
Bài tập lý thuyết
4
Các phương pháp lập trình
1
.STACK 100H
.CODE
MAIN PROC
MOV AH,2 ; hàm xuất ký tự
MOV CX,256 ; số ký tự cần xuất
MOV DL,0 ; DL giữ mã ASCII của ký tự NUL
; PRINT_LOOP :
INT 21H ;display character
INC DL
DEC CX
JNZ PRINT_LOOP ;nhảy đến print_loop nếu CX# 0
;DOS EXIT
MOV AH,4CH
INT 21H
MAIN ENDP
END MAIN
Ví dụ lập trình tuyến tính
Ví dụ lập trình tuyến tính
Chương 1 Phương pháp 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
Nhược điểm:
Mọi dữ liệu trong chương trình đều là biến toàn cục
do đó có thể bị thay đổi bởi bất kỳ phần nào đó của
chương trình.
Khó khăn trong việc gỡ lỗi chương trình
Không tận dụng lại được mã nguồn
Có thể sử dụng các thủ tục dùng chung
Khuyết điểm
Với các chương trình lớn số lượng thủ tục nhiều dẫn
đến khó bảo trì và sửa lỗi
Lập trình thủ tục
Lập trình thủ tục
Chương 1 Phương pháp lập trình hướng đối tượng
Các thủ tục có cùng một chức năng chung sẽ
được nhóm lại với nhau tạo thành một module
riêng biệt
Một chương trình được chia thành nhiều module
Mỗi module có dữ liệu riêng của nó
Lập trình module
Lập trình module
Chương 1 Phương pháp lập trình hướng đối tượng
Lập trình module
Lập trình module
Lập trình module. Chương trình chính là sự kết hợp giữa các lời gọi tới
các thủ tục trong các module riêng biệt với các dữ liệu thích hợp
Chương 1 Phương pháp lập trình hướng đối tượng
Ưu điểm:
Chương trình có tính cấu trúc cao
được xây dựng trên nền
tảng các đối tượng,
trong chương trình các
đối tượng giao tiếp với
nhau bằng cách chuyển
thông điệp (gọi hàm)
Chương 1 Phương pháp lập trình hướng đối tượng
Loại bỏ những thiếu sót của tiếp cận theo thủ tục
Trong OOP
Dữ liệu được xem như một phần tử chính yếu và được
bảo vệ
Hàm gắn kết với dữ liệu, thao tác trên dữ liệu
Phân tách bài toán thành nhiều thực thể (đối tượng)
xây dựng dữ liệu + hàm cho các đối tượng này.
Tăng cường khả năng sử dụng lại mã nguồn
Ưu điểm của lập trình hướng đối tượng
Ưu điểm của 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
Nhấn mạnh trên dữ liệu hơn là thủ tục
Các chương trình bao gồm các đối tượng
Dữ liệu được che giấu và không thể được truy
kiểu dữ liệu và các toán tử (phép toán) thao tác
trên các đối tượng đó
Kiểu dữ liệu trừu tượng: T = <V, O>
V (Values - miền giá trị): tập hợp các giá trị mà kiểu T
có thể nhận
O (Operators – các thao tác): tập hợp các thao tác
được định nghĩa trên V
Kiểu dữ liệu trừu tượng
Kiểu dữ liệu trừu tượng
Chương 1 Phương pháp lập trình hướng đối tượng
Ví dụ về kiểu dữ liệu trừu tượng: Số nguyên.
Dữ liệu: một tập các chữ số 0-9 và một dấu tiền tố
là + hoặc Chúng ta ký hiệu cả số là N.
Các toán tử:
constructor: khởi tạo một số nguyên
sub(k): trả về hiệu N – k.
add(k): trả về tổng N + k.
……
End
Kiểu dữ liệu trừu tượng
Kiểu dữ liệu trừu tượng
Chương 1 Phương pháp lập trình hướng đối tượng
Một đối tượng thế giới thực là một thực thể cụ
thể mà thông thường bạn có thể sờ, nhìn thấy hay
cảm nhận được.