TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
1
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Bài 4: Classes, objects và namespaces
• Tổng quan về lập trình hướng đối tượng
• Xây dựng class trong C#
•
Namespaces
Namespaces
2
-12 tiết -
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Tổng quan về lập trình hướng đối tượng
• Khái niệm
• Các đặc trưng cơ bản
3
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Khái niệm
• Khái niệm
Lậ tì hh ớ đốit
(OOP) là ộth há
−
Lậ
p
t
r
ì
n
h
h
ư
ớ
ng
đối
t
ượng
(OOP)
là
m
ột
p
h
ương p
há
p
thiết kế và phát triển phần mềm dựa trên kiến trúc lớp
(class) và đối tượng (object).
− OOP là cách lập trình nhằm hướng các xử lý đến từng
đối tượng, mỗi đối tượng sẽ có các xử lý của riêng nó
4
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Khái niệm
ố
ể
ế
•
Đố
i tượng (object) là một thực th
ể
trong thực t
ế
− Con người
•
Nhân viên
Trần Anh Tuấn
•
Nhân
viên
Trần
Anh
Tuấn
• Sinh viên Lê Bảo Huy
− Đồ vật
• Bàn B01
• Phòng học E304
Chứng từ
−
Chứng
từ
• Hóa đơn HD200606-S21
• Đơn đặt hàng DH200605-K01
5
− …
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Khái niệm
• Các thông tin về đối tượng:
− Ví dụ: Đối tượn
g
Xe Ô tô
g
• Mã số xe
• Hiệu xe
• Màu sơn
• Hãng sản xuất
•
Nă ả ất
•
Nă
m s
ả
n xu
ất
• …
6
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Khái niệm
• Tiếpcậnhướng đốitượng
− Là kỹ thuật cho phép biểudiễntự nhiên các đốitượng
t
th
tế
ới
á
đối
t
bê
t
h
tì h
t
rong
th
ực
tế
v
ới
c
á
c
đối
t
ượng
bê
n
t
rong c
h
ương
t
r
ì
n
h
Đối tượng
trong thực tế
Đối tượng
trong chương
7
trong
chương
trình
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Khái niệm
ế ố
• Ti
ế
p cận hướng đ
ố
i tượng
− “Nhân cách hóa” đối tượng
Hệ thống thực tế
Thực hiện nghiệp vụ f liên
quan đối tượng x
Hệ thống tin học
Đối tượng x với khả năng
th hiệ hiệ f
8
th
ực
hiệ
n ng
hiệ
p vụ
f
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Khái niệm
•
Tiếpcậnhướng đốitượng
•
Tiếp
cận
hướng
đối
tượng
Ví dụ 1:
Giảih tì hbậ hi
P
−
Giải
p
h
ương
t
r
ì
n
h
bậ
c
h
a
i
P
ax
2
+ bx + c = 0
Đốitượng P
vớihàm
giảiphương trình
Đối
tượng
P
với
hàm
giải
phương
trình
− Thông tin về đối tượng P
•
Các hệ số a, b, c
9
Các
hệ
số
a,
b,
c
• (Biến số x, Tên phương trình P)
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Khái niệm
•
Tiếpcậnhướng đốitượng
•
Tiếp
cận
hướng
đối
tượng
Ví dụ 2:
ề
− Tính ti
ề
n lương của nhân viên Nv
• Họ tên, Giới tính, Ngày vào làm, Hệ số lương, Số con
Đối tượng Nv với hàm Tính tiền lương
−
Thông tin về đốitượng
Nv
10
Thông
tin
về
đối
tượng
Nv
• Họ tên, Giới tính, Ngày vào làm, Hệ số lương, Số con
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Khái niệm
•
Lớp đốitượng (Class)
•
Lớp
đối
tượng
(Class)
− Class là một khái niệm trong Lập trình hướng đối tượng
mô tả cho những thựcthể có chung tính chất và hành
mô
tả
cho
những
thực
thể
có
chung
tính
chất
và
hành
vi. Class định nghĩa những thuộc tính và hành vi được
dùng cho những đối tượng của lớp đó
ế
Ừ Á
− K
ế
t quả của sự TR
Ừ
U TƯỢNG HO
Á
(Abstraction) các
đối tượng:
•
Cùng loại
Cùng
loại
• Cùng các thông tin mô tả về đối tượng
11
Lớp đối tượng
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Lớ
p
: XE OTO
p
_
12
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Khái niệm
•
Cá thà h hầ ủ lớ
•
Cá
c
thà
n
h
p
hầ
n c
ủ
a
lớ
p
13
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Khái niệm
•
Cá thà h hầ ủ lớ
•
Cá
c
thà
n
h
p
hầ
n c
ủ
a
lớ
p
− Biến thành viên (Field)
ề ố
• Lưu tr
ữ
các thông tin mô tả v
ề
đ
ố
i tượng.
• Ví dụ: Lưu trữ thông tin về nhân viên
–
Mã nhân viên
Mã
nhân
viên
–Họ nhân viên
– Tên nhân viên
Nà ih
–
N
g
à
y s
i
n
h
– Ngày vào làm
–Hệ số lương
14
–Số con
–…
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Khái niệm
•
Các thành phầncủalớp
•
Các
thành
phần
của
lớp
− Thuộc tính và Phương thức
ù ể ậ ậ íá ấ à ử ýô
• D
ù
ng đ
ể
c
ậ
p nh
ậ
t, t
í
nh to
á
n, cung c
ấ
p v
à
x
ử
l
ý
th
ô
ng tin
của đối tượng
15
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Khái niệm
•
Cá thà h hầ ủ lớ
•
Cá
c
thà
n
h
p
hầ
n c
ủ
a
lớ
p
− Thuộc tính và Phương thức
•
V
í dụ:
Thuộc tính
–
He so luong
:
Cậpnhật/cung cấp thông tin về hệ số
He
_
so
_
luong
:
Cập
nhật/cung
cấp
thông
tin
về
hệ
số
lương của nhân viên
– Tham_nien: Cung cấp thông tin về thâm niên của nhân
viên
viên
Phương thức
– Tien_luong: Tính tiền lương cho nhân viên
16
–
T
ro_cap: Tính trợ cấp cho nhân viên
– Tien_thuong: Tính tiền thưởng cho nhân viên
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Khái niệm
ầ
• Các thành ph
ầ
n của lớp
− Sự kiện
• Gởi thông báo của đối tượng ra bên ngoài
17
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
XE OTO
Khái niệm
ID
Hieu xe
XE
_
OTO
Thuộctính
•
V
í dụ Lớp XE_OTO
_
Hang_san_xuat
Mau_son
Thuộc
tính
Nam_san_xuat
No_may
Vao so
Vao
_
so
Thang
Tat ma
y
Phương thức
18
_
y
Sap_het_xang
Sự kiện
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
NHAN_VIEN
Khái niệm
Ma_nhan_vien
Ho_nhan_vien
Thi
Thuộctính
•
V
í dụ Lớp NHAN_VIEN
T
en_n
h
an_v
i
en
Ngay_sinh
Ngay vao lam
Thuộc
tính
Ngay
_
vao
_
lam
He_so_luong
So_con
Tien_luong
Tro_cap
Ti th
Phương thức
19
Ti
en_
th
uong
Tang_luong
Sự kiện
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Tổng quan về lập trình hướng đối tượng
• Khái niệm
• Các đặc trưng cơ bản
20
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Các đặc trưng cơ bản
•
Tính trừutượng (Abstraction)
•
Tính
trừu
tượng
(Abstraction)
• Tính đóng gói (Encapsulation)
• Tính kế thừa (Inheritance)
21
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Các đặc trưng cơ bản
•
Tí h t ừ t (Ab t ti )
•
Tí
n
h
t
r
ừ
u
t
ượng
(Ab
s
t
rac
ti
on
)
− Lớp (Class) là một khái niệm trừu tượng
ế ế
• Ví dụ: 1 bản thi
ế
t k
ế
(bản vẽ) xe hơi Æ Lớp Xe hơi
− Đối tượng (Object) là một thể hiện cụ thể của lớp
ế ấ ở ả ẩ ể
• Ví dụ: 1 chi
ế
c xe hơi được xu
ấ
t xư
ở
ng là 1 s
ả
n ph
ẩ
m cụ th
ể
được tạo ra từ bản thiết kế gốc Æ Đối tượng Xe hơi
Î Từ những đối tượng giống nhau, ta có thể trừu tượng hoá thành 1
lớ
lớ
p
22
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Các đặc trưng cơ bản
•
Tí h đóói(E lti)
•
Tí
n
h
đó
ng g
ói
(E
ncapsu
l
a
ti
on
)
− Mỗi lớp được xây dựng để thực hiện một nhóm
chứcnăng đặctrưng củariênglớp đó
chức
năng
đặc
trưng
của
riêng
lớp
đó
• Ví dụ:
– Muốc thực hiện các hàm toán học Æ lớp Math
– Muốn xử lý chuỗi Æ lớp String
23
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Các đặc trưng cơ bản
•
Tí h kế thừ (I h it )
•
Tí
n
h
kế
thừ
a
(I
n
h
er
it
ance
)
− Tính chất này cho phép xây dựng những lớp mới
dựatrênnhững lớpsẵncó(lớpConkế thừalớp
dựa
trên
những
lớp
sẵn
có
(lớp
Con
kế
thừa
lớp
Cha)
− Lớ
p
Con có khả năn
g
b
ổ
sun
g,
mở r
ộ
n
g
nhữn
g
tính
p g g, ộ g g
năng mới dựa trên những phần sẵn có ở lớp Cha
• Ví dụ:
Các loạixeđờimớingàycànghiện đạihơnvàcó
–
Các
loại
xe
đời
mới
ngày
càng
hiện
đại
hơn
và
có
nhiều chức năng tiện dụng hơn những loại xe đời cũ
24
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Bài 4: Classes, objects và namespaces
• Tổng quan về lập trình hướng đối tượng
• Xây dựng class trong C#
•
Namespaces
Namespaces
25
-12 tiết -