Bài giảng Lập trình hướng đối tượng - Tuần 2: Đối tượng và Lớp - Nguyễn Khắc Huy
LOGO
Đối tượng và Lớp
Nguyễn Khắc Huy
BMCNPM – ĐHKHTN TPHCM
09/2018
LOGO
Khái niệm đối tượng và lớp.
Tầm vực.
Nạp chồng hàm.
Bài tập.
LOGO
□ Mục tiêu của việc thiết kế 1 phần mềm:
. Tính tái sử dụng (reusability): thiết kế các
thành phần có thể được sử dụng trong
nhiều phần mềm khác nhau
. Tính mở rộng (extensibility): hỗ trợ các
plug-ins.
. Tính mềm dẻo (flexibility):
• Có thể dễ dàng thay đổi khi thêm mới dữ
liệu hay tính năng.
• Các thay đổi không làm ảnh hưởng nhiều
đến toàn bộ hệ thống
LOGO
□ Mục tiêu: xây dựng nên 1 phần mềm
□ Quá trình thiết kế: chia phần mềm và thiết
kế theo từng phần, từng component
□ Trừu tượng hóa: rất cần thiết trong thiết
kế. Cụ thể: bỏ qua những chi tiết của
component, quan tâm các thành phần ở
mức trừu tượng.
□ Xác định các component: top-down
□ Tích hợp: bottom-up. Gắn kết các
components nhỏ lại với nhau.
LOGO
□ Thiết kế theo hàm/thủ tục:
. Tìm ra các hàm/thủ tục để hoàn tất các yêu cầu
. Kết quả là hệ thống cấu trúc và mối quan hệ giữa
các hàm/thủ tục
□ Thiết kế theo module
. Phân tích và tìm ra các module bao gồm thành
phần dữ liệu và các hàm/thủ tục liên quan
. Cách thực hiện dựa vào việc gom nhóm các
thành phần tương tự nhau về ý nghĩa, phạm vi…
LOGO
□ Trừu tượng hóa dữ liệu và các hàm/thủ
tục liên quan
□ Chia hệ thống ra thành các lớp/đối tượng
□ Mỗi lớp/đối tượng có các tính năng và
hành động chuyên biệt
□ Các lớp có thể được sử dụng để tạo ra
nhiều đối tượng cụ thể
LOGO
Thế giới thực
Trừu tượng hóa
Phần mềm
Dữ liệu
Thuộc tính
Thực thể
Hành động
hàm
L
Lập trình hướng đối tượng là phương pháp
lập trình dựa trên kiến trúc lớp (class)
và đối tượng (object)
LOGO
□ Đối tượng trong thế giới thực: là một thực
thể cụ thể mà ta có thể sờ, nhìn thấy hay
cảm nhận được.
□ Đối tượng phần mềm: dùng để biểu diễn
các đối tượng trong thế giới thực.
□ Mỗi đối tượng bao gồm 2 thành phần:
thuộc tính và hành động.
LOGO
Chương trình là cỗ máy phức tạp.
Cấu thành từ nhiều loại vật liệu.
Vật liệu cơ bản: cấu trúc, hàm
Đã đủ tạo ra chương trình tốt?
Vật liệu mới: Đối tượng!!
LOGO
Đặc trưng của đối tượng:
• Bao gồm cả dữ liệu và xử lý.
• Thuộc tính (attribute): dữ liệu của đối
tượng.
• Phương thức (method): xử lý của đối
tượng.
Cấu trúc đối tượng:
• Hộp đen: thuộc tính trong, phương thức
ngoài.
• Bốn nhóm phương thức:
– Nhóm tạo hủy.
Thuộc tính
– Nhóm truy xuất thông tin.
– Nhóm xử lý nghiệp vụ.
Phương thức
– Nhóm toán tử.
LOGO
Vì sao là hướng đối tượng?
• Hướng thủ tục (procedural oriCeánctebdư)ớ.c nấu ăn
– Lấy hành động làm trung tâm.
Verb
Lặt
Object
Rau
Cá
– Hàm là xương sống.
- Lặt (Rau)
- Ướp (Cá)
- Kho (Cá)
Ướp
Nấu
Luộc
- Luộc (Rau)
- Nấu (Cơm)
Cơm
Rau
Cá
• Hướng đối tượng (object oriented).
Kho
– Lấy dữ liệu làm trung tâm.
– Đối tượng là xương sống.
Thay đổi
tư duy
lập trình!!
- Rau.Lặt
- Cá.Ướp
- Rau.Luộc
- Cơm.Nấu
- Cá.Kho
LOGO
Khái niệm lớp:
Tập hợp đối tượng có cùng
thuộc tính và phương thức
Person1:
Name: Peter.
Age: 25.
Hair Color: Brown.
Eye Color: Brown.
Job: Worker.
Human:
Name.
Age.
Hair Color.
Eye Color.
Job.
Person2:
Name: Thomas.
Age: 50.
Hair Color: White.
Eye Color: Blue.
Job: Teacher.
Bản mô tả đối tượng
Kiểu của đối tượng
LOGO
□ Tách biệt giữa giao tiếp và cài đặt cụ thể
interface
Làm cái gì?
Làm bằng cách nào?
Implementation
LOGO
□ Đối tượng là 1 thực thể phần mềm bao bọc
các thuộc tính mô tả trạng thái và các
phương thức liên quan.
□ Kiểu dữ liệu lớp đối tượng: class
Class có các tính chất sau:
. Đóng gói: chứa đựng dữ liệu và các hàm/thủ tục
liên quan
. Che giấu dữ liệu: các thực thể phần mềm khác
không can thiệp trực tiếp vào dữ liệu bên trong
được mà phải thông qua các phương thức cho
phép
LOGO
□ Che giấu dữ liệu và các “giải thuật” cụ thể
ở bên trong lớp (class)
public
(methods)
private
(data)
lớp đối tượng
LOGO
□ Xác định các đối tượng: xem xét các thực
thể trong phạm vi bài toán
□ Xác định các hành động tương ứng:
. Xác định hành động của riêng lớp đối
tượng này hay là sự liên hệ của nhiều lớp
đối tượng?
. …
LOGO
□ Theo Abbott & Booch:
. Tìm các danh từ hay cụm danh từ
. Không phải tất cả danh từ đều là đối tượng
□ Theo Coad & Yourdon:
. Xác định các cá thể hay các nhóm
□ Theo Ross, các đối tượng thường nằm trong
các nhóm sau:
. Người, địa điểm, vật, tổ chức, khái niệm, sự kiện
LOGO
□ Xác định các đối tượng
. Xây dựng hệ thống âm nhạc cho phép tra
cứu và lưu trữ các bài hát với tên bài, ca
sĩ, nhạc sĩ, thứ tự xếp hạng và loại bài
hát.
LOGO
Sử dụng đối tượng trong C++:
• Khai báo lớp: file .h
class <Tên lớp>
{
<Khai báo thuộc tính>;
<Khai báo phương thức>;
};
• Cài đặt phương thức: file .cpp
– Như cài đặt hàm, kèm theo tên lớp.
• Tạo đối tượng:
– Như khai báo biến, kiểu dữ liệu là lớp.
• Truy xuất thành phần đối tượng:
– Như truy xuất thành phần cấu trúc.
Tải về để xem bản đầy đủ
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Lập trình hướng đối tượng - Tuần 2: Đối tượng và Lớp - Nguyễn Khắc Huy", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
bai_giang_lap_trinh_huong_doi_tuong_tuan_2_doi_tuong_va_lop.pdf

