Click to edit Master title
style
Click to edit Master text styles
Second level
Third level
Fourth level
Fifth level
PHÂN TÍCH VÀ THIẾT KẾ
HƯỚNG ĐỐI TƯỢNG
Trần Thị Thanh Lan
Khoa Công Nghệ Thông Tin
Đại học Duy Tân
CHƯƠNG 1
CÁC KHÁI NIỆM CƠ BẢN VỀ
HƯỚNG ĐỐI TƯỢNG
Trần Thị Thanh Lan
Khoa Công Nghệ Thông Tin
Email:
Thời gian: 120 phút
Wednesday, October 11, 2023
Faculty Of Information Technology
Page: 2
MỤC TIÊU
Cung cấp cho sinh viên những kiến thức về:
Các khái niệm cơ bản nhất về hướng đối tượng: Đối
tượng (object), liên kết giữa các đối tượng, lớp (class)…
Các nội dung quan trọng trong hướng đối tượng: Tổng
quát hóa, chuyên biệt hóa, lớp trừu tượng, lớp cụ thể,
tính bao bọc, tính đa hình…
Wednesday, October 11, 2023
Faculty Of Information Technology
Page: 3/21
NỘI DUNG
Đối tượng
Liên kết giữa các đối tượng
Lớp
Wednesday, October 11, 2023
Faculty Of Information Technology
Page: 4/21
ĐỐI TƯỢNG
Khái niệm:
Là một biểu diễn từ thế giới thực sang thể hiện của tin học
(ví dụ : một chiếc xe ô tô trong thế giới thực được biểu diễn
trong tin học dùng một khái niệm đối tượng xe ôtô).
Là một sự trừu tượng hố, một khái niệm có ý nghĩa trong
lãnh vực ứng dụng.
Diễn đạt một thực thể vật lý, hoặc một thực thể quan niệm,
hoặc một thực thể phần mềm.
Đối tượng có thể là một thực thể hữu hình trực quan (ví dụ
: một con người, một vị trí, một sự vật,…) hoặc một khái
niệm, một sự kiện (ví dụ : phịng ban, bộ phận, kết hơn, đăng
ký, …).
Wednesday, October 11, 2023
Faculty Of Information Technology
Page: 5/21
ĐỐI TƯỢNG
Các tính chất của đối tượng
Đối tượng = trạng thái + hành vi + định danh
• Trạng thái là các đặc tính của đối tượng tại một thời điểm
• Hành vi thể hiện các chức năng của đối tượng
• Định danh thể hiện sự tồn tại duy nhất của đối tượng
Wednesday, October 11, 2023
Faculty Of Information Technology
Page: 6/21
ĐỐI TƯỢNG
Các tính chất của đối tượng
Ví dụ : Một đối tượng xe mô tô
Trạng thái:
100cc
38.000KM
90KM/H
Đỏ
Trạng thái
Hành vi:
Chạy()
Dừng()
Tắtmáy()
Hành vi
Môtô No 43K3-5592
Định danh
Wednesday, October 11, 2023
Faculty Of Information Technology
Page: 7/21
LIÊN KẾT GIỮA CÁC ĐỐI TƯỢNG
Mối kết hợp (association) - liên kết ngữ nghĩa
Giảng dạy
Giáo viên A
Lớp học X
Lái
Tài xế B
Wednesday, October 11, 2023
Xe tải Y
Faculty Of Information Technology
Page: 8/21
LIÊN KẾT GIỮA CÁC ĐỐI TƯỢNG
Phân cấp (hierarchy) - liên kết cấu trúc
Một xe mô tô
Bánh xe 1
Wednesday, October 11, 2023
Bánh xe 2
Faculty Of Information Technology
Động cơ
Page: 9/21
LỚP (CLASS)
Khái niệm
Lớp là khái niệm dùng để mô tả một tập hợp các đối tượng
có cùng một cấu trúc, cùng hành vi và có cùng những mối
quan hệ
Lớp = các thuộc tính + các phương thức
Wednesday, October 11, 2023
Faculty Of Information Technology
Page: 10/21
LỚP (CLASS)
Trình bày của lớp: Là một hình chữ nhật bao
gồm ba phần (không bắt buộc)
Wednesday, October 11, 2023
Faculty Of Information Technology
Page: 11/21
LỚP (CLASS)
Đối tượng là thể hiện (instance) của lớp
Giá trị là thể hiện của thuộc tính
Liên kết là thể hiện của kết hợp
Lớp
Thuộc tính
Kết hợp
Wednesday, October 11, 2023
Đối tượng
Giá trị
Liên kết
Faculty Of Information Technology
Page: 12/21
LỚP (CLASS)
Tính thừa kế (inheritance)
Một lớp được xây dựng từ một hoặc nhiều lớp khác bằng
việc chia sẽ các thuộc tính và phương thức
Lớp con thừa kế các thuộc tính và phương thức từ lớp cha
Tổng qt hóa/chun biệt hóa
• Tổng qt hóa (generalization): đặt các tính chất chung của các lớp
khác nhau vào một lớp cha
• Chun biệt hóa (specialization): tạo ra một lớp con có các tính
chất riêng từ lớp cha
Wednesday, October 11, 2023
Faculty Of Information Technology
Page: 13/21
LỚP (CLASS)
Đơn thừa kế: một lớp con chỉ thừa kế từ một lớp cha duy nhất
Tổng quát hóa
XeKhách
Chuyên biệt hóa
Xtơ
XeTải
Lớp trừu tượng hay lớp chung: Xtơ
Lớp cụ thể hay lớp chuyên biệt: XeKhách
Lớp chuyên biệt có thể thay thế lớp chung trong tất cả các ứng
dụng. Ví dụ: Ơtơ tải là một ôtô.
Wednesday, October 11, 2023
Faculty Of Information Technology
Page: 14/21
LỚP (CLASS)
Đa thừa kế: một lớp con thừa kế từ nhiều lớp cha
khác nhau
Person
Personnel
Reseacher
Student
Teacher
Phd candidate
Wednesday, October 11, 2023
Faculty Of Information Technology
Page: 15/21
LỚP (CLASS)
Đa thừa kế
Đụng độ tên các thuộc tính
X
a
Y
a
Z
a của X
a của Y
Đa thừa kế khơng được chấp nhận bởi một số ngôn ngữ:
Java
Wednesday, October 11, 2023
Faculty Of Information Technology
Page: 16/21
LỚP (CLASS)
Ưu điểm của thừa kế
Phân loại các lớp: các lớp được phân loại, sắp xếp
theo một thứ bậc để dễ quản lí
Xây dựng các lớp: các lớp con được xây dựng từ
các lớp cha
Tiết kiệm thời gian xây dựng, tránh lặp lại thông tin
Wednesday, October 11, 2023
Faculty Of Information Technology
Page: 17/21
LỚP (CLASS)
Tính đa hình (polymorphism): của phương thức, tức là
khả năng các phương thức khác nhau được thực hiện để
trả lời cùng một yêu cầu
Mỗi lớp con thừa kế đặc tả các phương thức từ lớp cha,
và các phương thức này có thể được sữa đổi trong lớp
con để thực hiện các chức năng riêng trong lớp đó
Một phương thức (cùng một tên phương thức) có nhiều
dạng (định nghĩa) khác nhau trong các lớp khác nhau
Wednesday, October 11, 2023
Faculty Of Information Technology
Page: 18/21
LỚP (CLASS)
Ví dụ tính đa hình
ĐaGiác
DienTich()
HìnhVng
HìnhTamGiác
DienTich()
DienTich()
Wednesday, October 11, 2023
Faculty Of Information Technology
Page: 19/21
TỔNG KẾT
Câu 1: Đối tượng là gì? Các tính chất của đối tượng?
Câu 2: Khái niệm lớp (class)?
Câu 3: Trình bày khái niệ về tính kế thừa, đa hình?
Cho ví dụ.
Wednesday, October 11, 2023
Faculty Of Information Technology
Page: 20/21