Download as pdf or txt
Download as pdf or txt
You are on page 1of 31

Machine Translated by Google

Phân tích và thiết kế hướng đối


tượng
Mô-đun 2: Khái niệm về hướng đối tượng
Machine Translated by Google

Mục tiêu

• Mô tả tính trừu tượng, đóng gói,


mô đun hóa và phân cấp.
• Mô tả cấu trúc vật lý của một lớp.
• Mô tả mối quan hệ giữa một lớp và một
đối tượng.
• Xác định tính đa hình và khái quát hóa.
Machine Translated by Google

Chúng ta ở đâu?

• Đối tượng là gì?


• Bốn nguyên tắc của
OO • Lớp là gì?

• Đa hình và khái quát hóa


Machine Translated by Google

Đối tượng là gì?

• Một cách không chính thức, một đối tượng đại diện cho một thực thể

vật lý, khái niệm hoặc phần mềm.

• Thực thể vật lý

Xe tải

• Thực thể khái niệm

Quy trình hóa học

• Thực thể phần mềm

Danh sách liên kết


Machine Translated by Google

Một định nghĩa chính thức hơn

Thuộc tính
• Đối tượng là một thực thể
có ranh giới và nhận

dạng được xác định rõ ràng


gói gọn trạng thái và
hành vi.

– Trạng thái được thể hiện


bằng các thuộc tính
và các mối quan hệ.
– Hành vi
được thể hiện
bằng các thao tác,
phương thức và máy trạng thái. Sự vật

Hoạt động
Machine Translated by Google

Một đối tượng có trạng thái

• Trạng thái là một điều kiện hoặc tình huống trong suốt vòng đời của một đối tượng, nó thỏa mãn một điều

kiện nào đó, thực hiện một số hoạt động hoặc chờ đợi một sự kiện nào đó.

• Trạng thái của một vật thường thay đổi theo

thời gian.

Tên: J Clark
ID nhân
viên: 567138
Ngày thuê:
25/07/1991
Tên: J Clark Tình trạng: Đã thuê

ID nhân viên: 567138 Kỷ luật: Tài chính


Tải tối đa: 3
Ngày thuê: 25/07/1991
Tình trạng: Đã thuê Giáo sư Clark

Kỷ luật: Tài chính


Số lượng khóa học tối đa: 3 lớp
Machine Translated by Google

Một đối tượng có hành vi

• Hành vi xác định cách một đối tượng hoạt động và


phản ứng.

• Hành vi hiển thị của một đối tượng được mô hình hóa bằng một tập hợp

các thông báo mà nó có thể phản hồi (các thao tác mà đối tượng có thể

thực hiện).

Hành vi của giáo sư Clark


Gửi điểm cuối cùng
Nghỉ phép()
Chấp nhận cung cấp khóa học
Nghỉ phép Giáo sư Clark
Đặt tải tối đa
Machine Translated by Google

Một đối tượng có danh tính

• Mỗi đối tượng có một nhận dạng duy nhất, ngay cả


khi trạng thái giống hệt đối tượng khác.

Giáo sư “J Clark” Giáo sư “J Clark”


dạy môn Sinh học dạy môn Sinh học
Machine Translated by Google

Chúng ta ở đâu?

• Đối tượng là gì?


• Bốn nguyên tắc của
OO • Lớp là gì?

• Đa hình và khái quát hóa


Machine Translated by Google

Nguyên tắc cơ bản của đối tượng


Định hướng

Định hướng đối tượng

ốậ
gnc
p ệb
h
ấ H
t
c
íđ
hnu
ô T
m
uợ
gn rt
ừư T

gnóĐ
Machine Translated by Google

Ví dụ: Trừu tượng

Học sinh Giáo sư

Cung cấp khóa học (9:00


sáng, Thứ Hai-Thứ Tư-Thứ Sáu) Khóa học (ví dụ Đại số)
Machine Translated by Google

Trừu tượng là gì?

• Các đặc điểm cơ bản của một thực


thể giúp phân biệt nó với tất cả
các loại thực thể khác.

• Xác định ranh giới liên quan đến


góc nhìn của người xem. •
Không phải là sự biểu hiện cụ thể,
biểu thị bản chất lý tưởng của
một sự vật nào đó.
Machine Translated by Google

Đóng gói là gì?

• Ẩn việc triển khai với khách hàng.


– Khách hàng phụ thuộc vào giao diện.

Cải thiện khả năng phục hồi


Machine Translated by Google

Minh họa đóng gói

Giáo sư Clark
• Giáo sư Clark

cần có khả năng dạy bốn lớp

trong học kỳ tiếp theo.

Tên: J Clark

ID nhân viên: 567138


Ngày thuê: 25/07/1991

Tình trạng: Đã thuê

Kỷ luật: Tài chính


SetMaxLoad(4) Tải tối đa:4

Nghỉ phép()
Machine Translated by Google

Tính mô đun là gì?

• Phá vỡ một cái gì đó phức tạp thành có thể quản lý được


miếng.
• Giúp mọi người hiểu các hệ thống phức tạp.
Machine Translated by Google

Ví dụ: Tính mô đun

• Ví dụ, nghỉ

hệ thống phức tạp thành các


Thanh toán
module nhỏ hơn.
Hệ thống

Khóa học
Mục lục
Hệ thống

Đăng ký khóa học


Hệ thống Học sinh
Sự quản lý
Hệ thống
Machine Translated by Google

Hệ thống phân cấp là gì?

Tăng tính Tài sản


trừu tượng

Tài khoản ngân hàng Bảo vệ Địa ốc

Giảm tính Tiết kiệm Kiểm tra Cổ phần Liên kết

trừu tượng
Các phần tử ở cùng cấp độ phân cấp phải có cùng mức độ
trừu tượng.
Machine Translated by Google

Chúng ta ở đâu?

• Đối tượng là gì?


• Bốn nguyên tắc của
OO • Lớp là gì? •
Đa hình và khái quát hóa
Machine Translated by Google

Một lớp học là gì?

• Lớp là sự mô tả một tập hợp các đối tượng có


chung thuộc tính, hoạt động, mối quan hệ và ngữ
nghĩa.
– Đối tượng là một thể hiện của một
lớp. • Một lớp là một sự trừu tượng ở chỗ nó

- Nhấn mạnh các đặc điểm liên quan.


- Loại bỏ các đặc điểm khác
Machine Translated by Google

Một lớp học là gì?

Lớp học
Khóa học

Của cải Hành vi


Tên
Thêm một sinh viên
Vị trí
Xóa một học sinh
Số ngày được cung cấp
Nhận danh sách khóa học
giờ tín dụng
Xác định xem nó đã đầy chưa
Thời gian bắt đầu

Thời gian kết thúc


Machine Translated by Google

Mối quan hệ giữa lớp và đối tượng

• Lớp là một định nghĩa trừu tượng của một đối tượng.
– Nó xác định cấu trúc và hành vi của từng đối tượng trong
lớp.

– Nó phục vụ như một khuôn mẫu để tạo ra các đối tượng.

• Lớp không phải là tập hợp các đối tượng.

Giáo sư
Giáo sư Torpie

Giáo sư Meijer Giáo sư Allen


Machine Translated by Google

Các thuộc tính trong lớp và đối tượng

Lớp học

:Học sinh

- tên = “M. Modano” -


địa chỉ = “123 Main St.” -
Học sinh
ID-sinh
9 ID sinh
viên =
- tên viên = 9 - dateOfBirth = “10/03/1967”
- địa chỉ
- ID sinh Các đối tượng

viên - ngày sinh


:Học sinh

- tên = “D. Hatcher” -


địa chỉ = “456 Oak Ln.” -
ID sinh viên =
2 - dateOfBirth = “11/12/1969”
Machine Translated by Google

Một hoạt động là gì?

• Một dịch vụ có thể được yêu cầu từ một đối tượng để thực hiện

hành vi. Một thao tác có chữ ký, có thể hạn chế các tham

số thực tế có thể có.

• Một lớp có thể có bất kỳ số lượng hoạt động nào hoặc không có hoạt động nào tại

tất cả.

Học sinh

+ nhận học phí()


+ thêm lịch trình()
Hoạt động + lấy lịch()
+ xóa lịch()
+ có điều kiện tiên quyết()
Machine Translated by Google

Chúng ta ở đâu?

• Đối tượng là gì?


• Bốn nguyên tắc của
OO • Lớp là gì?

• Đa hình và khái quát hóa


Machine Translated by Google

Đa hình là gì?

• Khả năng ẩn nhiều cách triển khai


khác nhau đằng sau một giao diện duy nhất

Nhà sản xuất B


Nhà sản xuất A Nhà sản xuất C

Nguyên tắc OO:


Đóng gói
Điều khiển từ xa
Machine Translated by Google

Ví dụ: Đa hình

tài chínhInstrument.getCurrentValue()

Cổ phần Liên kết Quỹ tương hỗ


Machine Translated by Google

Khái quát hóa là gì?

• Mối quan hệ giữa các lớp trong đó một


lớp chia sẻ cấu trúc và/hoặc hành vi của một hoặc
nhiều lớp.

• Xác định một hệ thống phân cấp trừu


tượng trong đó một lớp con kế thừa từ
một hoặc nhiều siêu lớp.
– Thừa kế duy nhất.
- Đa kế thừa.
• Là mối quan hệ “là một loại”.
Machine Translated by Google

Ví dụ: Kế thừa đơn

• Lớp này kế thừa lớp khác.

tổ tiên

Tài khoản

- THĂNG BẰNG

- tên
Siêu lớp
- số - số
mẹ) (cha mẹ)
(cha

+ rút tiền()
+ createStatement()

Sự khái quát
Mối quan hệ

Các lớp Tiết kiệm Kiểm tra


con (trẻ em)

Con cháu
Machine Translated by Google

Ví dụ: Đa kế thừa

• Một lớp có thể kế thừa từ nhiều lớp khác.

thứ bay Động vật

Đa kế thừa

Máy bay Trực thăng Chim chó sói Ngựa

Chỉ sử dụng đa kế thừa khi cần thiết và luôn thận


trọng!
Machine Translated by Google

Kế thừa là gì?

• Lớp con kế thừa các thuộc tính, thao tác và mối


quan hệ của lớp cha.

• Một lớp con có thể:


– Thêm các thuộc tính, thao tác, mối
quan hệ bổ sung.
– Định nghĩa lại các phép toán kế thừa. (Sử dụng thận trọng!)

• Các thuộc tính, thao tác và/hoặc mối quan hệ


chung được hiển thị ở mức áp dụng cao nhất
trong hệ thống phân cấp.
Machine Translated by Google

Ôn tập

• Đối tượng là gì? •


Bốn nguyên tắc định hướng đối tượng là
gì? Mô tả từng cái.
• Lớp học là gì? Các lớp và các đối tượng có

liên quan như thế nào?

• Thuộc tính là gì? Một cuộc phẫu thuật?


• Xác định tính đa hình. Cho một ví dụ về tính
đa hình.
• Khái quát hóa là gì?

You might also like