–ðơn luồng và các công việc ñược thực hiện tuần tự trong luồng ñó.. –ðịnh nghĩa các thuộc tính và phương thức –ðịnh nghĩa các thuộc tính và phương thức chung cho các ñối tượng có cùng lo
Trang 1L Ậ P TRÌNH H ƯỚ NG ðỐ I T ƯỢ NG
Ch ươ ng 1
lttlan.tdu@gmail.com http://lttlan-tdu.blogspot.com 9/30/2009
1
N ộ i
N ộ i dung dung
• L ậ p trình thông th ườ ng.
• L ậ p trình h ướ ng ñố i t ượ ng.
•• U Unified M Modeling L Language - UML.
2
L ậ p
L ậ p trình trình thông thông th th ườ ườ ng ng
• L ậ p trình tuy ế n tính
– Tư duy theo lối tuần tự, ñơn giản
–ðơn luồng và các công việc ñược thực hiện tuần
tự trong luồng ñó
– Tồn tại trong modul nhỏ của phương pháp lập
trình khác
– Không giải quyếtñược các yêu cầu phức tạp
L ậ p
L ậ p trình trình thông thông th th ườ ườ ng ng ((tt tt))
• L ậ p trình c ấ u trúc
– Cấu trúc dữliệu: cách tổ chức dữliệu, mô tả bài
Cấ ấu trúc d u trúc dữ ữ li liệ ệu u + Giả ải thu i thuậ ậtt = Chươ ương trình ng trình
– Cấu trúc dữliệu: cách tổ chức dữliệu, mô tả bài toán dưới dạng ngôn ngữlập trình
– Giải thuật: một quy trình ñểthực hiện một công
việc xác ñịnh
Trang 2L ậ p
L ậ p trình trình thông thông th th ườ ườ ng ng ((tt tt))
• L ậ p trình c ấ u trúc (tt)
– Phân chia chương trình chính thành các chương
trình con cho phù hợp với yêu cầu, chức năng và
mục ñích của mỗi bài toán
mục ñích của mỗi bài toán
– Giải thuật luôn phụ thuộc chặt chẽ vào cấu trúc
dữ liệu
5
L ậ p
L ậ p trình trình h h ướ ướ ng ng ñố ñố i i t t ượ ượ ng ng
• M ộ t s ố khái ni ệ m c ơ b ả n
• L ậ p trình h ướ ng ñố i t ượ ng Object Oriented Programming – OOP
• Các ñặ c ñ i ể m c ủ a OOP
• Các ñặ c ñ i ể m c ủ a OOP
6
M ộ t
M ộ t s s ố ố khái khái ni ni ệ ệ m m c c ơ ơ b b ả ả n n
• ðố i t ượ ng (Object)
– Trong thế giới thực:
• ñố i t ượ ng là m ộ tth c th (entity) c ụ th ể mà thông
th ườ ng ta có th ểsờ, nhìn thấyhay cảm nhận ñượ c.
– Trong lập trình:
– Trong lập trình:
• Dùng ñể mô t ả 1 ng ườ i, s ự v ậ t hay khái ni ệ m.
• ðố i t ượ ng là cái mà ứ ng d ụ ng mu ố ñề c ậ p ñế n.
• Trong h ệ th ố ng h ướ ng ñố i t ượ ng, m ọ i th ứ ñề u là ñố i
t ượ ng.
M ộ t
M ộ t s s ố ố khái khái ni ni ệ ệ m m c c ơ ơ b b ả ả n n ((tt tt))
• ðố i t ượ ng trong th ế gi ớ i th ự c
Tr ạ ng thái:
• màu
• hãng s ả n xu ấ t
• hãng s ả n xu ấ t
• model
• giá
• … • DHànhừngñộ ng:
• Ch ạ y
• T ă ng t ố c
•Th ắ ng
•…
xe hơi
Trang 3M ộ t
M ộ t s s ố ố khái khái ni ni ệ ệ m m c c ơ ơ b b ả ả n n ((tt tt))
• ðố i t ượ ng trong th ế gi ớ i th ự c (tt)
– Mọi ñối tượngñều có trạng thái (state) vàhành
ñộng(behavior)
9
M ộ t
M ộ t s s ố ố khái khái ni ni ệ ệ m m c c ơ ơ b b ả ả n n ((tt tt))
• ðố i t ượ ng trong l ậ p trình
– Thuộc tính, ñặc tính, dữliệu (attribute, property, data):
• Trình bày, mô t ả các ñặ c ñ i ể m c ủ a ñố i t ượ ng.
– Phương thức, ứng xử, hàm (method, behavior, function):
• Liên quan ñế n nh ữ ng th ứ ñố i t ượ ng làm.
• Tác ñộ ng lên d ữ li ệ u c ủ a ñố i t ượ ng.
10
M ộ t
M ộ t s s ố ố khái khái ni ni ệ ệ m m c c ơ ơ b b ả ả n n ((tt tt))
Thu ộ c tính:
•tiêu ñề
•n ộ i dung
•kích th ướ c
•màu…
Ph ươ ng th ứ c:
•v ẽ
•di chuy ể n
• ñổ i kích th ướ c
• ñ óng, …
Trang 4M ộ t
M ộ t s s ố ố khái khái ni ni ệ ệ m m c c ơ ơ b b ả ả n n ((tt tt))
Thu ộ c tính:
•Màu lá
•Màu thân
•Chi ề u cao
•T ọ a ñộ
•T ọ a ñộ
Ph ươ ng th ứ c:
•v ẽ
13
M ộ t
M ộ t s s ố ố khái khái ni ni ệ ệ m m c c ơ ơ b b ả ả n n ((tt tt))
• Thể hi ệ n (instance)
– Thu ộ c tính ñượ c xác ñị nh giá tr ị c ụ th ể – ðố i t ượ ng c ụ th ể g ọ i là m ộ t th ể hi ệ n.
ðố i t ượ ng (object) là m ộ t th ự c th ể
ph ầ n m ề m bao b ọ c cácthu ộ c tính
b ở i cácph ươ ng th ứ cliên quan.
ðố i
ðố i t t ượ ượ ng ng Xe Xe ñạ ñạ p p ((là là 1 1 th th ể ể hi hi ệ ệ n n))
14
M ộ t
M ộ t s s ố ố khái khái ni ni ệ ệ m m c c ơ ơ b b ả ả n n ((tt tt))
• Lớ p (class)
– Là mẫu (prototype) của các ñối tượng cùng
kiểu
– Là khuônñể ñổ ra các ñối tượng
–ðịnh nghĩa các thuộc tính và phương thức
–ðịnh nghĩa các thuộc tính và phương thức
chung cho các ñối tượng có cùng loại
VD: Lớp XeDap là thiết kế chung cho cácñối
tượng xe mini, xeñòn, xeñầm, xeñua, xe leo
núi, …
M ộ t
M ộ t s s ố ố khái khái ni ni ệ ệ m m c c ơ ơ b b ả ả n n ((tt tt))
• Lớ p (class)
– Lớp tạo rañối tượng: bằng cách gán giá trị cụ
thể cho các thuộc tính
• Lớpñược tạo ra khi biên dịch
• ðối tượng tạo ra khi thực thi chương trình
ðối tượng là một thể hiện (instance) của 1 lớp
Trang 5– Mã nhân viên
– H ọ và tên
– N ă m sinh
– Ngh Ngh ề ề nghi nghi ệ ệ p p
– ðị a ch ỉ
– H ệ s ố l ươ ng
– Ch ứ c v ụ
+ Làm vi ệ c ()
+ Ngh ỉ phép ()
+ Lãnh l ươ ng ()
Ông Ông NVA NVA Bà Bà TTB TTB Ông LVC
17
M ộ t s ố khái ni ệ m c ơ b ả n (tt)
M ộ t s ố khái ni ệ m c ơ b ả n (tt)
• Truyề n thông báo
– Thông báo (message): là 1 lời yêu cầu 1 hoạt
ñộng
– Thông báo bao gồm:
• ðố i t ượ ng nh ậ n thông ñ i ệ p.
• ðố i t ượ ng nh ậ n thông ñ i ệ p.
• Ho ạ t ñộ ng (tên c ủ a ph ươ ng th ứ c th ự c hi ệ n).
• Chi ti ế t th ự c hi ệ n (giá tr ị các tham s ố ).
– Truyền thông báo: kích hoạt hàm cùng tên trên 1 ñối tượngñểyêu cầu thông tin
18
NhanVien
– Mã nhân viên
– H ọ và tên
– N ă m sinh
– Ngh ề nghi ệ p
NhanVien
– 8494 – NVA – 1970 – Ths Tin h ọ c Ngh ề nghi ệ p
– ðị a ch ỉ
– H ệ s ố l ươ ng
– Ch ứ c v ụ
+ Làm vi ệ c ()
+ Ngh ỉ phép ()
+ Lãnh l ươ ng ()
Ông Ông NVA NVA
Ths Tin h ọ c – ð H Tây ð ô – 3.04
– Gi ả ng viên
NVA.ngh ỉ
NVA.ngh ỉ phép (22/9/2009)
L ậ p
L ậ p trình trình h h ướ ướ ng ng ñố ñố i i t t ượ ượ ng ng
• M ộ t s ố khái ni ệ m c ơ b ả n
L ậ p trình h ướ ng ñố i t ượ ng (Object Oriented Programming – OOP)
• Các ñặ c ñ i ể m c ủ a OOP
• Các ñặ c ñ i ể m c ủ a OOP
Trang 6L ậ p
L ậ p trình trình h h ướ ướ ng ng ñố ñố i i t t ượ ượ ng ng (OOP) (OOP)
Thuộ ộc tính c tính + Hàm = Đố ối t i tượ ượng ng
Các thể hiện, đặc tính,
trạng thái của đối
tượng
Các hoạt động, thao tác của đối tượng
Mục tiêu chính
Phân tích bài toán thành nhiều ñối tượng
Quan tâm ñến dữliệu hơn thủ tục
Dữliệu ñược bảo vệ (che giấu) và không thể truy
xuất từbên ngoài ñối tượng
21
L ậ p
L ậ p trình trình h h ướ ướ ng ng ñố ñố i i t t ượ ượ ng ng ((tt tt))
ðố i t ượ ng 1
ðố i t ượ ng 1
D ữ li ệ u Hàm
D ữ li ệ u và th ủ t ụ c ñượ c
x ử lý ch ặ c ch ẽ v ớ i nhau
Quan tâm ñế n m ố i liên
h gi ữ a th ủ t ụ c và d ữ
li ệ u.
ðố i t ượ ng 1
ðố i t ượ ng 1
D ữ li ệ u Hàm
D ữ li ệ u Hàm
ðố i t ượ ng 3
ðố i t ượ ng 3 ðố ðố i t i t ượ ượ ng 2 ng 2
li ệ u.
D ễ ch ỉ nh s ử a , thêm m ớ i
d ữ li ệ u và hàm trong 1
ñố i t ượ ng.
M ụ c tiêu là t ă ng c ườ ng
kh ả n ă ng s ử d ụ ng l ạ i
22
L ậ p
L ậ p trình trình h h ướ ướ ng ng ñố ñố i i t t ượ ượ ng ng ((tt tt))
• Sự tr ừ u t ượ ng hóa (abstraction)
L ậ p
L ậ p trình trình h h ướ ướ ng ng ñố ñố i i t t ượ ượ ng ng ((tt tt))
• Sự tr ừ u t ượ ng hóa (abstraction)
– Là bước tiến hóa tiếp theo từlập trình cấu trúc – Chỉ quan tâm ñến nhữngñặc ñiểm cần thiết (phớt lờ ñi những chi tiết) tùy vào ngữcảnh:
VD: Phân tích thông tin c ủ a 1 ng ườ i:
- Trong ng ữ c ả nh làm vi ệ c trong tr ườ ng.
- Trong ng ữ c ả nh h ọ c t ạ i tr ườ ng? NhanVien
– Mã nhân viên – H ọ và tên – N ă m sinh – …
Trang 725
Các ñặ ñặ c c ñ ñ i i ể ể m m c c ủ ủ a a OOP OOP
• Tính bao gói
• Tính th ừ a k ế
• Ả o hóa
• ð a hình
• ð a hình
26
Tính bao gói
• Là ñặ c ñ i ể m ch ủ y ế u c ủ a OOP.
• Che gi ấ u vi ệ c th ự c thi chi ti ế t c ủ a 1 ñố i
t ượ ng.
• Ng ă n s ự tác ñộ ng t ừ ñố i t ượ ng khác ñế n
• Ng ă n s ự tác ñộ ng t ừ ñố i t ượ ng khác ñế n
d ữ li ệ u.
Ẩ n thông tin là 1 tính
ch ấ t c ủ a bao gói
Trang 8Tính bao gói
Tính bao gói ((tt tt))
– Thể hiện sựkết hợp chặc chẽ giữa thuộc tính
và phương thức
–ðịnh nghĩa lớp: là việcñóng gói nhiều thành
phần lại với nhau
phần lại với nhau
– Xác ñịnh và giới hạn các ñường truy cập ñến
lớp
29
Tính bao gói Tính bao gói ((tt tt))
– Các thuộc tính truy cập:
– Dùng chung (public):có quy ề n ñượ c truy xu ấ t
t ừ b ấ t k ỳ v ị trí nào.
– Dùng riêng (private):ch ỉ truy xu ấ t ñượ c t ừ bên trong l ớ p (trong các ph ươ ng th ứ c c ủ a l ớ p ñ ó) trong l ớ p (trong các ph ươ ng th ứ c c ủ a l ớ p ñ ó).
– ðượ c b ả o v ệ(protected) : chỉ truy xu ấ t ñượ c t ừ
bên trong l ớ p và các l ớ p th ừ a k ế t ừ nó.
30
Các ñặ ñặ c c ñ ñ i i ể ể m m c c ủ ủ a a OOP OOP
• Tính thừ a k ế (inheritance)
– Nhóm cácñặc tính chung lại với nhau
– Sửdụng lại (kế thừa) các ñặc trưng chung
(thuộc tính + phương thức) của 1 lớp cho
trước
trước
– Ích lợi:
• Chia s ẻ và s ử d ụ ng l ạ i nh ữ ng l ớ p ñ ã có:
– T ậ n d ụ ng l ạ i các thu ộ c tính chung.
– T ậ n d ụ ng l ạ i các thao tác t ươ ng t ự
• Thi ế t k ế l ớ p g ọ n nh ẹ , ñơ n gi ả n h ơ n.
Các ñặ ñặ c c ñ ñ i i ể ể m m c c ủ ủ a a OOP OOP
• Tính thừ a k ế (tt)
– Chú ý: tránhthiết kế sai về mặt ý nghĩa
VD: L ớ p XeH ơ i th ừ a k ế t ừ l ớ p BánhXe là SAI.
– Lớp con phải chính là lớp cha, ngoài ra còn – Lớp con phải chính là lớp cha, ngoài ra còn
phải có thêm nhữngñặc trưng riêng của nó:
• Thêm hàm ho ặ c thêm thu ộ c tính
• Tái ñị nh ngh ĩ a hàm c ủ a l ớ p cha, ñổ i ki ể u thu ộ c tính
• Dùng hàm ả o
Trang 9Con Con ng ng ườ ườ i i
– Tên – Gi ớ i tính
Sinh
Sinh viên viên
– L ớ p h ọ c
– ð i ể m thi Toán
+ Tính ñ i ể m TB()
Nhân Nhân viên viên
– Ngh ề nghi ệ p – H ệ s ố l ươ ng
+ Ngh ỉ phép()
33
Các ñặ ñặ c c ñ ñ i i ể ể m m c c ủ ủ a a OOP OOP
• Tính thừ a k ế (tt)
– Lớp con sẽ cótất cả các thành phần của lớp cha nhưngchỉñược quyền truy xuấtthành
phần mà lớp cha cho phép (public + protected)
protected)
– Lớp cha không thể truy xuấtñược thành phần
của lớp con
34
Các ñặ ñặ c c ñ ñ i i ể ể m m c c ủ ủ a a OOP OOP
• Tính thừ a k ế (tt)
– Các thành phần của lớp con sẽche ñi các
thành phần trùng tên trong lớp cha
• Khi truy xu ấ t thành ph ầ n trùng tên ñ ó s ẽ truy xu ấ t
thành ph ầ n c ủ a l ớ p con.
thành ph ầ n c ủ a l ớ p con.
• Mu ố n truy xu ấ t thành ph ầ n c ủ a l ớ p cha, ph ả i ch ỉ
rõ.
– Trong C++: <Tên l ớp cha> :: ::<Tên hàm>
– Trong Java: super <Tên hàm>
Các ñặ ñặ c c ñ ñ i i ể ể m m c c ủ ủ a a OOP OOP
• Tính thừ a k ế
– Thừa kế ñơn: thừa kế từ1 lớp
– Thừa kếbội: thừa kế từ 2 lớp trở lên
• T ậ n d ụ ng ñượ c nhi ề u thành ph ầ n có s ẵ n.
• T ậ n d ụ ng ñượ c nhi ề u thành ph ầ n có s ẵ n.
• D ễ gây ra xung ñộ t, c ạ nh tranh.
Trang 10Các ñặ ñặ c c ñ ñ i i ể ể m m c c ủ ủ a a OOP OOP
• Tính thừ a k ế (tt)
– Thừa kế bội
37
Các ñặ ñặ c c ñ ñ i i ể ể m m c c ủ ủ a a OOP OOP
• Ả o hóa (virtualization)
– Kể tên trong lớp cha mộtứng xửchung (hàm
ảo – virtual, abstract) cho tập hợp các lớp con
– Khi nhận yêu cầu, tùy vàoñối tượng thuộc
lớp nào sẽ có ứng xử riêng (thực thi hàm
tươngứng của lớp ñó)
38
Các ñặ ñặ c c ñ ñ i i ể ể m m c c ủ ủ a a OOP OOP
• Ả o hóa
Vd:
1 “V ”: cho t ậ p h ợ p các ñố i t ượ ng hình h ọ c ( ñ i ể m,
ñườ ng th ẳ ng, hình tròn, hình vuông, …)
2 “Kêu”: cho t ậ p h ợ p các con v ậ t (chó, mèo, gà,
2 “Kêu”: cho t ậ p h ợ p các con v ậ t (chó, mèo, gà,
v ị t, …)
3 “V nhà”: cho t ậ p h ợ p các h ọ c sinh ( ñ i b ộ , ñ i xe
ñạ p, ñ i xe g ắ n máy, ñ i xe buýt, …)
Các ñặ ñặ c c ñ ñ i i ể ể m m c c ủ ủ a a OOP OOP
• Ả o hóa
– Hàm ảo:
• Không nh ấ t thi ế t ph ả i c ầ ñị nh ngh ĩ a ở l ớ p cha.
• Ph ả iñượ c ñị nh ngh ĩ a l ạ i trong l ớ p con.
– Lớp ảo:
– Lớp ảo:
• Ch ỉ dùng khai báo các hàm ả o bên trong.
• Không ñượ c dùng ñể t ạ o ra ñố i t ượ ng
Trang 11Các ñặ ñặ c c ñ ñ i i ể ể m m c c ủ ủ a a OOP OOP
• Tính ñ a hình (polymorphism)
– Các ñối tượng khác nhau khi nhận chung 1 yêu
cầu vẫn có thể có nhữngứng xửkhác nhau
– Kỹthuật sửdụng: hàmảo
ðườ ng Th ẳ ng Hình Tròn
“V ẽ ”
41
Các ñặ ñặ c c ñ ñ i i ể ể m m c c ủ ủ a a OOP OOP
• Tính ñ a hình
– Các hành ñộng cùng tên thực thi trên cùng 1 ñối
tượng vẫn có thể thực hiện khác nhau (có kết
quả khác nhau) tùy thuộc vào ngữcảnh
– Kỹthuật sửdụng: tái ñịnh nghĩa hàm – Kỹthuật sửdụng: tái ñịnh nghĩa hàm
• Hàm trùng tên
• Khác tham s ố (s ố l ượ ng, th ứ t ự , ki ể u)
42
UML UML U Unified Modeling LLanguage
Trang 12• Gi ớ i thi ệ u v ề UML
• Các lo ạ i bi ể u ñồ trong UML
• Bi ể u ñồ l ớ p
• Bi ể u ñồ l ớ p
45
Gi ớ i
Gi ớ i thi thi ệ ệ u u UML UML
– T ạ m d ị ch là ngôn ng ữmô hìnhhóa th ố ng nh ấ
– Ra ñờ i vào n ă m 1997 và hi ệ n nay ñ ang ñượ c s ử d ụ ng r ấ t
ph ổ bi ế n.
– Bao g ồ m m ộ t h ệ th ố ng cácký hiệu ñồ họa, biểu ñồ (sơ ñồ)th ố ng nh ấ t dùng ñể thi ế t k ế các h ệ th ố ng thông tin
ñồ)th ố ng nh ấ t dùng ñể thi ế t k ế các h ệ th ố ng thông tin (IS) theo h ướ ng ñố i t ượ ng.
– ðượ c s ử d ụ ng cho các giai ñ ạn phân tích, thiết kế, triển khai và kiểm thử phần mềm.
– Các CaseTool(Rational Rose, System Architect, Argo UML, Visual Paradigm for UML, Umbrello…) hỗ tr ợ UML trong vi ệ c phát sinh ch ươ ng trình t ự ñộ ng cho các ngôn
ng ữ OOP.
46
Các
Các lo lo ạ ạ i i bi bi ể ể u u ñồ trong trong UML UML
• UML Diagram
– Use Cases Diagram (bi ể u ñồ tình hu ố ng s ử
d ụ ng)
– Class Diagram (bi ể u ñồ l ớ p)
– Class Diagram (bi ể u ñồ l ớ p)
– Sequence Diagram (bi ể u ñồ trình t ự )
– Collaboration Diagram (bi ể u ñồ c ộ ng tác)
– State Diagram (bi ể u ñồ tr ạ ng thái)
– Component Diagram (bi ể u ñồ thành ph ầ n)
– Deployment Diagram (bi ể u ñồ tri ể n khai)
S ơ
S ơ ñồ ñồ l l ớ ớ p p (Class Diagram) (Class Diagram)
• Lớ p
Trang 13S ơ
S ơ ñồ ñồ l l ớ ớ p p (Class Diagram) (Class Diagram)
• Quan hệ k ế t h ợ p (Association)
49
S ơ
S ơ ñồ ñồ l l ớ ớ p p (Class Diagram) (Class Diagram)
• Quan hệ k ế t h ợ p (Association)
50
S ơ
S ơ ñồ ñồ l l ớ ớ p p (Class Diagram) (Class Diagram)
• Quan hệ k ế t h ợ p
S ơ
S ơ ñồ ñồ l l ớ ớ p p (Class Diagram) (Class Diagram)
• Quan hệ t ậ p h ợ p (Aggregation)
Trang 14S ơ
S ơ ñồ ñồ l l ớ ớ p p (Class Diagram) (Class Diagram)
• Quan hệ t ổ ng h ợ p (Composition)
Composition
Composition là là 1 1 d d ạ ng ng
Aggregation ñặ ñặ c c bi bi ệ ệ t t trong trong ñ ñ ó ó
cái
cái t t ổ ổ ng ng th th ể ể s s ẽ ẽ ñượ ñượ c c c c ấ ấ u u
thành
thành ho ho ặ ặ c c h h ủ ủ y y b b ỏ ỏ t t ừ ừ nh nh ữ ữ ng ng
thành
thành ph ph ầ ầ n n c c ủ ủ a nó nó
53
S ơ
S ơ ñồ ñồ l l ớ ớ p p (Class Diagram) (Class Diagram)
• Thừ a k ế (inheritance)
54
Bài
Bài t t ậ ậ p p
• Mô hình hóa việc bán vé tại rạp chiếu phim theo
góc nhìn của người mua vé / người quản lý
• Tiệm tạp hóa: Chủ tiệm cần quản lý việc mua
bán hàng hóa (viết, tập) trong cửa hàng ñể biết
bán hàng hóa (viết, tập) trong cửa hàng ñể biết
– Hàng nào mua vào giá bao nhiêu?
– Hàng nào bán ra và giá bao nhiêu?
Áp d ụ ng k ỹ thu ậ t l ậ p trình h ướ ng ñố i t ượ ng và tính
th ừ a k ế c ủ a nó ñể d ự ng khung ñố i t ượ ng cho ng ườ i
ph ụ trách mua bán ñ i ề n thông tin vào và s ử d ụ ng
ph ươ ng th ứ c cho vi ệ c mua bán
Bài Bài t t ậ ậ p p v v ề ề nhà
• Ch ọ n các ñố i t ượ ng ngoài th ự c t ế có liên quan v ớ i nhau ñể xây d ự ng khung (thu ộ c tính, ph ươ ng th ứ c) các ñố i t ượ ng v ớ i ñầ y ñủ
các ñặ c ñ i ể m:
– Tính thừa kế –Ảo hóa
–ða hình
• Cho 3 ví d ụ c ụ th ể cho t ừ ng ñố i t ượ ng
• H ạ n n ộ p: 12:00 PM 06/10/2009 (mail ho ặ c
gi ấ y)
Trang 15Bài n n ộ ộ p p
• Mail:
– Subject: C++ Bai 1 <ma sinh sien>
– <ma sinh vien> <Tên sinh viên>
– File word hoặc pdf
– File word hoặc pdf
• Gi ấ y
– C++ Bai 1
– <ma sinh sien> <Tên sinh viên>
57