Trường CĐKTC
N
Ngôn ngữ lập trình Visu
al basic
Slide 1
CH NG TRÌNH H C PH NƯƠ Ọ Ầ
Tài li u tham kh o :ệ ả
T p slide bài gi ng c a môn h c này.ậ ả ủ ọ
3 CD MSDN trong Microsoft Visual Studio 6.0.
N i dung chính g m 10 ch ng :ộ ồ ươ
1. Khái ni m l p trìnhệ ậ
2. T ng quát v l p trình b ng VB.ổ ề ậ ằ
3. Qui trình thi t k tr c quan giao di n.ế ế ự ệ
4. D li u dùng trong VB.ữ ệ
5. Bi u th c.ể ứ
6. L nh th c thi c a VB.ệ ự ủ
7. Ch ng trình con.ươ
8. Qu n lý h th ng file.ả ệ ố
9. Giao ti p thi t b xu t nh pế ế ị ấ ậ .
10. Truy xu t c s d li u.ấ ơ ở ữ ệ
Trường CĐKTC
N
C1. Khái niệm lập trình Slide 2
MÔN NGÔN NG L P TRÌNH Visual basicỮ Ậ
Ch ng 1ươ
KHÁI NI M L P TRÌNHỆ Ậ
Trường CĐKTC
N
C1. Khái niệm lập trình Slide 3
Máy tính số là thi t b có th th c hi n 1 s h u h n các ch c n ng c b n ế ị ể ự ệ ố ữ ạ ứ ă ơ ả
(t p l nhậ ệ ), c ch th c hi n các l nh là t ng,ơ ế ự ệ ệ ự độ b t u t l nh c ch nh ắ đầ ừ ệ đượ ỉ đị
nào ó r i tu n t t ng l nh k ti p cho n l nh cu i cùng. Danh sách các đ ồ ầ ự ừ ệ ế ế đế ệ ố
l nh c th c hi n này c g i là ệ đượ ự ệ đượ ọ ch ng trìnhươ .
Các l nh mà máy hi u và th c hi n c c g i là ệ ể ự ệ đượ đượ ọ l nh máyệ . Ta dùng ngôn
ng miêu t các l nh. ữ để ả ệ Ngôn ng l p trìnhữ ậ c u thành t 2 y u t : cú pháp ấ ừ ế ố
và ng ngh a. Cú pháp qui nh tr t t k t h p các ph n t c u thành 1 ữ ĩ đị ậ ự ế ợ ầ ử để ấ
l nh (câu), còn ng ngh a cho bi t ý ngh a c a l nh ó.ệ ữ ĩ ế ĩ ủ ệ đ
B t k công vi c (ấ ỳ ệ bài toán) ngoài i nào c ng có th c chia thành trình t đờ ũ ể đượ ự
nhi u công vi c nh h n. Trình t các công vi c nh này c g i là gi i ề ệ ỏ ơ ự ệ ỏ đượ ọ ả
thu t gi i quy t công vi c ngoài i. M i công vi c nh h n c ng có th c ậ ả ế ệ đờ ỗ ệ ỏ ơ ũ ể đượ
chia nh h n n a n u nó còn ph c t p, ỏ ơ ữ ế ứ ạ ⇒ công vi c ngoài i có th c ệ đờ ể đượ
miêu t b ng 1 trình t các l nh máy (ch ng trình ngôn ng máy).ả ằ ự ệ ươ ữ
Các khái ni m c b n v máy tính sệ ơ ả ề ố
Trường CĐKTC
N
C1. Khái niệm lập trình Slide 4
v n m u ch t c a vi c dùng máy tính gi i quy t công vi c ngoài i ấ đề ấ ố ủ ệ ả ế ệ đờ
là l p trìnhậ ( c hi u nôm na là qui trình xác nh trình t úng các đượ ể đị ự đ
l nh máy th c hi n công vi c). Cho n nay, ệ để ự ệ ệ đế l p trình là công vi c ậ ệ
c a con ng iủ ườ (v i s tr giúp ngày càng nhi u c a máy tính).ớ ự ợ ề ủ
V i công ngh ph n c ng hi n nay, ta ch có th ch t o các máy tính ớ ệ ầ ứ ệ ỉ ể ế ạ
mà t p l nh máy r t s khai, m i l nh máy ch có th th c hi n 1 công ậ ệ ấ ơ ỗ ệ ỉ ể ự ệ
vi c r t nh và n gi n ệ ấ ỏ đơ ả ⇒ công vi c ngoài i th ng t ng ng ệ đờ ườ ươ đươ
v i trình t r t l n (hàng tri u) các l nh máy ớ ự ấ ớ ệ ệ ⇒ L p trình b ng ngôn ậ ằ
ng máy r t ph c t p, t n nhi u th i gian, công s c, k t qu r t khó ữ ấ ứ ạ ố ề ờ ứ ế ả ấ
b o trì, phát tri nả ể .
Ta mu n có máy lu n lý v i t p l nh ( c c t b i ngôn ng l p ố ậ ớ ậ ệ đượ đặ ả ở ữ ậ
trình) cao c p và g n g i h n v i con ng i. Ta th ng hi n th c máy ấ ầ ủ ơ ớ ườ ườ ệ ự
này b ng 1 máy v t lý + 1 ch ng trình d ch. Có 2 lo i ch ng trình ằ ậ ươ ị ạ ươ
d ch : trình biên d ch (compiler) và trình thông d ch (interpreter).ị ị ị
Các khái ni m c b n v máy tính s (tt)ệ ơ ả ề ố
Trường CĐKTC
N
C1. Khái niệm lập trình Slide 5
G i ngôn ng máy v t lý là Nọ ữ ậ
0
. Trình biên d ch ngôn ng Nị ữ
1
sang
ngôn ng Nữ
0
s nh n u vào là ch ng trình c vi t b ng ngôn ẽ ậ đầ ươ đượ ế ằ
ng Nữ
1
, phân tích t ng l nh Nừ ệ
1
r i chuy n thành danh sách các l nh ồ ể ệ
ngôn ng Nữ
0
có ch c n ng t ng ng. vi t ch ng trình d ch ứ ă ươ đươ Để ế ươ ị
t ngôn ng Nừ ữ
1
sang N
0
d dàng, ph c t p c a t ng l nh ngôn ễ độ ứ ạ ủ ừ ệ
ng Nữ
1
không quá cao so v i t ng l nh ngôn ng Nớ ừ ệ ữ
0
.
Sau khi có máy lu n lý hi u c ngôn ng lu n lý Nậ ể đượ ữ ậ
1
, ta có th nh ể đị
ngh a và hi n th c máy lu n lý Nĩ ệ ự ậ
2
theo cách trên và ti p t c n khi ta ế ụ đế
có 1 máy lu n lý hi u c ngôn ng Nậ ể đượ ữ
m
r t g n gấ ầ ũi v i con ng i, ớ ườ
d dàng miêu t gi i thu t c a bài toán c n gi i quy t ễ ả ả ậ ủ ầ ả ế
Nh ng qui trình trên ch a có i m d ng, v i yêu c u ngày càng cao ư ư để ừ ớ ầ
và ki n th c ngày càng nhi u, ng i ta ti p t c nh ngh a nh ng ế ứ ề ườ ế ụ đị ĩ ữ
ngôn ng m i v i t p l nh ngày càng g n gữ ớ ớ ậ ệ ầ ũi h n v i con ng i ơ ớ ườ để
miêu t gi i thu t càng d dàng, g n nh và trong sáng h n. ả ả ậ ễ ọ ẹ ơ
Các khái ni m c b n v máy tính s (tt)ệ ơ ả ề ố
Trường CĐKTC
N
C1. Khái niệm lập trình Slide 6
Ngôn ng máyữ v t lý là lo i ngôn ng th p nh t mà ng i l p trình ậ ạ ữ ấ ấ ườ ậ
bình th ng có th dùng c. Các l nh và tham s c a l nh c ườ ể đượ ệ ố ủ ệ đượ
miêu t b i các s binary (hay hexadecimal - s c miêu t chi ti t ả ở ố ẽ đượ ả ế
trong ch ng 2). ây là lo i ngôn ng mà máy v t lý có th hi u tr c ươ Đ ạ ữ ậ ể ể ự
ti p, nh ng con ng i thì g p nhi u khó kh n trong vi c vi t và b o trì ế ư ườ ặ ề ă ệ ế ả
ch ng trình c p này.ươ ở ấ
Ngôn ng assemblyữ r t g n v i ngôn ng máy, nh ng l nh c b n ấ ầ ớ ữ ữ ệ ơ ả
nh t c a ngôn ng assembly t ng ng v i l nh máy nh ng c ấ ủ ữ ươ ứ ớ ệ ư đượ
bi u di n d i d ng g i nh . Ngoài ra, ng i ta t ng c ng thêm khái ể ễ ướ ạ ợ ớ ườ ă ườ
ni m "l nh macro" nâng s c m nh miêu t gi i thu t.ệ ệ để ứ ạ ả ả ậ
Ngôn ng c p caoữ ấ theo tr ng phái l p trình c u trúc nh Pascal, C, ườ ậ ấ ư
T p l nh c a ngôn ng này khá m nh và g n v i t duy c a ng i ậ ệ ủ ữ ạ ầ ớ ư ủ ườ
bình th ng.ườ
Ngôn ng h ng i t ngữ ướ đố ượ nh C++, Visual Basic, Java, C#, c i ti n ư ả ế
ph ng pháp c u trúc ch ng trình sao cho trong sáng, n nh, d ươ ấ ươ ổ đị ễ
phát tri n và thay th linh ki n.ể ế ệ
Các c p ngôn ng l p trìnhấ độ ữ ậ
Trường CĐKTC
N
C1. Khái niệm lập trình Slide 7
Các l nh c a ch ng trình (code) s ệ ủ ươ ẽ truy xu tấ ( c và/ho c ghi) thông đọ ặ
tin (d li uữ ệ ).
Ch ng trình gi i quy t bài toán nào ó có th truy xu t nhi u d li u ươ ả ế đ ể ấ ề ữ ệ
khác nhau v i tính ch t r t a d ng. truy xu t 1 d li u c th , ta ớ ấ ấ đ ạ Để ấ ữ ệ ụ ể
c n 3 thông tin v d li u ó :ầ ề ữ ệ đ
- tên nh n d ngậ ạ (identifier) xác nh v trí c a d li u.đị ị ủ ữ ệ
- ki u d li uể ữ ệ (type) miêu t c u trúc c a d li u.ả ấ ủ ữ ệ
- t m v c truy xu tầ ự ấ (visibility) xác nh các l nh c phép truy đị ệ đượ
xu t d li u t ng ng.ấ ữ ệ ươ ứ
Ch ng trình c i n = d li u + gi i thu t.ươ ổ để ữ ệ ả ậ
Ch ng trình con ươ (function, subroutine, ) là 1 o n code th c hi n đ ạ ự ệ
ch c n ng c dùng nhi u l n nhi u v trí trong ch ng trình, nó ứ ă đượ ề ầ ở ề ị ươ
cho phép c u trúc ch ng trình, s d ng l i code ấ ươ ử ụ ạ
D li u c a ch ng trìnhữ ệ ủ ươ
Trường CĐKTC
N
C1. Khái niệm lập trình Slide 8
Ch ng trình = c u trúc d li u + gi i thu tươ ấ ữ ệ ả ậ
entry 'start'
global data
module
(package)
local data
of module
local data
of function
C u trúc 1 ch ng trình c i nấ ươ ổ đ ể
Trường CĐKTC
N
C1. Khái niệm lập trình Slide 9
B nhộ ớ
(Memory)
n v x lýĐơ ị ử
(CPU)
Các thi t b ế ị
vào ra (I/O)
Bus giao ti pế
ch a code và data ứ
ang th c thiđ ự
th c thi t ng l nh ự ừ ệ
c a ch ng trình ủ ươ
giao ti p v i bên ngoài ế ớ
(th ng là ng i) ườ ườ để
nh p/xu t tinậ ấ
Mô hình máy tính s Von Neumannố
Trường CĐKTC
N
C1. Khái niệm lập trình Slide 10
bàn phím
màn hình
chu tộ
thùng máy
loa
Hình d ng v t lý c a vài máy tínhạ ậ ủ
Trường CĐKTC
N
C1. Khái niệm lập trình Slide 11
Gi i mã chu i ả ỗ
bit ra d ng ạ
ng i, thi t b ườ ế ị
ngoài hi u ể
cđượ
X lý d li u ử ữ ệ
d ng chu i bitạ ỗ
Mã hóa d li u ữ ệ
thành d ng ạ
chu i bitỗ
D li u c n x lý b ng ữ ệ ầ ử ằ
máy tính (ch s , hình ữ ố
nh, âm thanh, )ả
K t qu có c sau ế ả đượ
khi x lý b ng máy tính ử ằ
(ch s , hình nh, âm ữ ố ả
thanh, )
Qui trình t ng quát gi i quy t bài toán b ng máy tính sổ để ả ế ằ ố
CDROM, a, b ng, đĩ ă
L u gi d ư ữ ữ
li u s ệ ố để
dùng l iạ
Máy tính số
Trường CĐKTC
N
C1. Khái niệm lập trình Slide 12
Trong quá kh , ph ng pháp th ng s d ng phân tích bài toán là ứ ươ ườ ử ụ để
ph ng pháp t -trên-xu ng (top-down analysis).ươ ừ ố
N i dung c a ph ng pháp này là xét xem, mu n gi i quy t v n nào ộ ủ ươ ố ả ế ấ đề
ó thì c n ph i làm nh ng công vi c nh h n nào. M i công vi c nh h n đ ầ ả ữ ệ ỏ ơ ỗ ệ ỏ ơ
tìm c l i c phân thành nh ng công vi c nh h n n a, c nh v y đượ ạ đượ ữ ệ ỏ ơ ữ ứ ư ậ
cho n khi nh ng công vi c ph i làm là nh ng công vi c th t n gi n, đế ữ ệ ả ữ ệ ậ đơ ả
có th th c hi n d dàng.ể ự ệ ễ
Thí d vi c h c l y b ng k s CNTT khoa CNTT HBK TP.HCM có th ụ ệ ọ ấ ằ ỹ ư Đ ể
bao g m 9 công vi c nh h n là h c t ng h c k t 1 t i 9, h c h c k i là ồ ệ ỏ ơ ọ ừ ọ ỳ ừ ớ ọ ọ ỳ
h c n môn h c c a h c k ó, h c 1 môn h c là h c m ch ng c a môn ọ ọ ủ ọ ỳ đ ọ ọ ọ ươ ủ
ó, đ
Hình v c a slide k cho th y tr c quan c a vi c phân tích top-down.ẽ ủ ế ấ ự ủ ệ
Ph ng pháp phân tích t -trên-xu ngươ ừ ố
Trường CĐKTC
N
C1. Khái niệm lập trình Slide 13
Công vi c c n ệ ầ
gi i quy t (A)ả ế
Công vi cệ
A
1
Công vi cệ
A
2
Công vi cệ
A
n
Công việc
A
11
Công việc
A
12
Công việc
A
1n
Công việc
A
n1
Công việc
A
n2
Công việc
A
nn
Ph ng pháp phân tích t -trên-xu ng (tt)ươ ừ ố
Trường CĐKTC
N
C1. Khái niệm lập trình Slide 14
Công vi c c n gi i quy t ệ ầ ả ế
≡ i t ng ph c h p Ađố ượ ứ ợ
Đối tượng
A
1
Đối tượng
A
2
Đối tượng
A
n
Đối tượng
A
11
Đối tượng
A
12
Đối tượng
A
1n
Đối tượng
A
n1
Đối tượng
A
n2
Đối tượng
A
nn
Ph ng pháp phân tích t -trên-xu ng (tt)ươ ừ ố
Trường CĐKTC
N
C2. Tổng quát về lập tr
ình bằng VB
Slide 15
MÔN TIN H CỌ
Ch ng 2ươ
T NG QUÁT V L P TRÌNHỔ Ề Ậ
B NG VISUAL BASICẰ
Trường CĐKTC
N
C2. Tổng quát về lập tr
ình bằng VB
Slide 16
T ng quát v ngôn ng VBổ ề ữ
d ti p c n ngôn ng VB, ta hãy nhìn l i ngôn ng ti ng Vi t. Ta nói ngôn Để ễ ế ậ ữ ạ ữ ế ệ
ng ti ng Vi t nh ngh a 1 t p các t có ngh a c b n, các qui t c ghép các t ữ ế ệ đị ĩ ậ ừ ĩ ơ ả ắ ừ
c b n này l i t o thành o n câu (phrase), câu (sentence), o n v n ơ ả ạ để ạ đ ạ đ ạ ă
(paragraph), bài v n (document) cùng ng ngh a c a các ph n t c t o ra. ă ữ ĩ ủ ầ ử đượ ạ
Vì ngôn ng Vi t là ngôn ng t nhiên nên ữ ệ ữ ự th ng cho phép nhi u ngo i lườ ề ạ ệ
trong vi c xây d ng các ph n t .ệ ự ầ ử
Ngôn ng l p trình VB c ng nh ngh a 1 t p các ký t c b n (ch a có ngh a), ữ ậ ũ đị ĩ ậ ự ơ ả ư ĩ
các qui t c ghép các ký t t o thành các t có ngh a (identifier), bi u th c ắ ự để ạ ừ ĩ ể ứ
(expression), câu l nh (statement), th t c (Function, Sub, Property) cùng ng ệ ủ ụ ữ
ngh a c a các ph n t c t o ra. Vì ngôn ng VB là ngôn ng l p trình cho ĩ ủ ầ ử đượ ạ ữ ữ ậ
máy tính th c hi n nên s ự ệ ẽ không cho phép 1 ngo i l nàoạ ệ trong vi c xây d ng ệ ự
các ph n t .ầ ử
Nghiên c u ngôn ng l p trình là h c nh rõ các ký t c b n c a ngôn ứ ữ ậ ọ để ớ ự ơ ả ủ
ng , các qui t c t o danh hi u, bi u th c, các qui t c vi t các câu l nh ữ ắ để ạ ệ ể ứ ắ để ế ệ
cùng ng ngh a c a chúng ữ ĩ ủ ⇒ r t gi ng v i vi c h c 1 ngôn ng t nhiên : Anh, ấ ố ớ ệ ọ ữ ự
Pháp, Nh t, ậ
Trường CĐKTC
N
C2. Tổng quát về lập tr
ình bằng VB
Slide 17
Các ký hi u c b n c a ngôn ng VBệ ơ ả ủ ữ
V nguyên t c, VB cho phép dùng h u h t các ký t mà b n có th nh p t ề ắ ầ ế ự ạ ể ậ ừ
bàn phím, trong ó đ các ký t ch và sự ữ ố c dùng ch y u.đượ ủ ế
V n s d ng danh hi u trong ch ng trình c trình bày ch ng 4. ấ đề ử ụ ệ ươ đượ ở ươ
Danh hi u có th c dùng t tên cho bi n, h ng g i nh , Function, Sub, ệ ể đượ để đặ ế ằ ợ ớ
Property, form, class module, module, và ng ngh a c a t ng danh hi u là do ữ ĩ ủ ừ ệ
s qui nh c a ng i l p trình.ự đị ủ ườ ậ
Qui t c xây d ng m t bi u th c s c trình bày trong ch ng 5.ắ ự ộ ể ứ ẽ đượ ươ
Có nhi u lo i câu l nh VB khác nhau, qui t c xây d ng 1 câu l nh ph thu c ề ạ ệ ắ ự ệ ụ ộ
vào lo i câu l nh c th ạ ệ ụ ể ⇒ ta ph i nghiên c u t ng lo i câu l nh và qui t c c u ả ứ ừ ạ ệ ắ ấ
thành nó, nh ng may m n s l ng lo i câu l nh VB là không nhi u (d i 20 ư ắ ố ượ ạ ệ ề ướ
lo i).ạ
Các câu l nh c chia làm 2 nhóm chính : ệ đượ
Các l nh nh ngh a, khai báo ệ đị ĩ : xác nh 1 hành ng nào ó t i th i i m đị độ đ ạ ờ để
d ch.ị
Các l nh th c thiệ ự : xác nh 1 hành ng nào ó t i th i i m th c thi.đị độ đ ạ ờ để ự
Trường CĐKTC
N
C2. Tổng quát về lập tr
ình bằng VB
Slide 18
Chú thích trong ch ng trìnhươ
Các l nh nh ngh a và các l nh th c thi mà ta v a trình bày là máy x lý, ệ đị ĩ ệ ự ừ để ử
chúng tuân th các cú pháp c th mà ta s trình bày sau. Nh ng ý t ng ủ ụ ể ẽ ư ưở
chung là con ng i r t khó c và hi u chúng.ườ ấ đọ ể
tr giúp cho ng i c và hi u các l nh VB trong ch ng trình, VB còn Để ợ ườ đọ ể ệ ươ
cung c p 1 l nh c bi t : l nh chú thích. ây là l nh mà máy s b qua (vì ấ ệ đặ ệ ệ Đ ệ ẽ ỏ
máy s không th hi u n i ý ngh a c miêu t trong l nh này), tuy nhiên l nh ẽ ể ể ổ ĩ đượ ả ệ ệ
này cho phép ng i l p trình dùng ngôn ng t nhiên chú thích ý ngh a c a ườ ậ ữ ự để ĩ ủ
các l nh VB khác h u giúp chính h hay ng i khác d dàng hi u ch ng ệ ầ ọ ườ ễ ể ươ
trình.
Cú pháp c a l nh chú thích r t n gi n : ch qui nh b t u l nh b ng ký t ' ủ ệ ấ đơ ả ỉ đị ắ đầ ệ ằ ự
và có th c vi t trên 1 hàng riêng bi t hay i sau l nh hi n hành.ể đượ ế ệ đ ệ ệ
Ví d :ụ
Private Sub cmdCE_Click()
' hàm x lý bi n c khi n nút CE (Clear Entry)ử ế ố ấ
dblDispValue = 0
blnFpoint = False
bytPosDigit = 0
txtDisplay.Text = ".0" ' b t u hi n th .0 lên Displayắ đầ ể ị
End Sub
Trường CĐKTC
N
C2. Tổng quát về lập tr
ình bằng VB
Slide 19
Chú thích trong ch ng trình (tt)ươ
Vi c dùng chú thích trong ch ng trình là s dung hòa gi a 2 thái c c : l m ệ ươ ự ữ ự ạ
d ng và không bao gi dùng. Th ng ta nên dùng chú thích nh ng v trí ụ ờ ườ ở ữ ị
sau :
u c a m i th t c miêu t ch c n ng c a th t c ó, d li u nh p vào Đầ ủ ỗ ủ ụ để ả ứ ă ủ ủ ụ đ ữ ệ ậ
th t c và d li u tr v t th t c. ủ ụ ữ ệ ả ề ừ ủ ụ
Các o n code miêu t gi i thu t ph c t p ghi chú o n code này hi n đ ạ ả ả ậ ứ ạ để đ ạ ệ
th c gi i thu t nào trong lý thuy t ã h c.ự ả ậ ế đ ọ
Dòng l nh có hi u ng c bi t ệ ệ ứ đặ ệ
Trường CĐKTC
N
C2. Tổng quát về lập tr
ình bằng VB
Slide 20
C u trúc c a ng d ng theo l p trình c u trúcấ ủ ứ ụ ậ ấ
Ch ng trình = c u trúc d li u + gi i thu tươ ấ ữ ệ ả ậ
entry 'start'
global data
module
(package)
local data
of module
local data
of function
Trường CĐKTC
N
C2. Tổng quát về lập tr
ình bằng VB
Slide 21
Xét c u trúc ch ng trình c i n c a slide tr c, ta th y có 2 nh c ấ ươ ổ để ủ ướ ấ ượ
i m chính sau :để
1. R t khó m b o tính nh t quán và úng n c a d li u toàn c c ấ đả ả ấ đ đắ ủ ữ ệ ụ
vì b t k l nh nào trong hàm nào c ng có th truy xu t chúng.ấ ỳ ệ ũ ể ấ
2. N u ch ng trình c n ng th i nhi u 'instance' c a cùng 1 ế ươ ầ đồ ờ ề ủ
module thì c ch l p trình c u trúc không cho phép t o t ng ơ ế ậ ấ ạ ự độ
các 'instance' này.
kh c ph c 2 nh c i m chính trên (và b sung nhi u u i m khác), Để ắ ụ ượ để ổ ề ư để
ta s l p trình theo h ng i t ng (OOP - Object Oriented ẽ ậ ướ đố ượ
Programming) trong ó ch ng trình là 1 t p các i t ng s ng t ng đ ươ ậ đố ượ ố ươ
tác nhau (xem slide k ti p).ế ế
Visual Basic là ngôn ng h tr vi c l p trình theo h ng i t ng, h n ữ ỗ ợ ệ ậ ướ đố ượ ơ
n a VB còn là môi tr ng l p trình tr c quan (visual) nên r t d dùng.ữ ườ ậ ự ấ ễ
T l p trình c u trúc n OOPừ ậ ấ đế
Trường CĐKTC
N
C2. Tổng quát về lập tr
ình bằng VB
Slide 22
Ch ng trình = t p các i t ng t ng tác nhauươ ậ đố ượ ươ
entry
i t ng đố ượ
(object)
local data
of object
local data of
operation
C u trúc c a ng d ng OOPấ ủ ứ ụ
Trường CĐKTC
N
C2. Tổng quát về lập tr
ình bằng VB
Slide 23
i t ng (Object)Đố ượ
Mô hình i t ng quan ni m ch ng trình bao g m các i t ng sinh s ng đố ượ ệ ươ ồ đố ượ ố
và t ng tác v i nhau.ươ ớ
i t ng bao g m nhi u thành ph n, m i thành ph n thu c 1 trong 2 lo i : Đố ượ ồ ề ầ ỗ ầ ộ ạ
Thu c tínhộ (attribute) : mang 1 giá tr nh t nh t i t ng th i i m.ị ấ đị ạ ừ ờ để
Tác vụ (operation) : th c hi n 1 công vi c nào ó.ự ệ ệ đ
Interface
(abstract type)
Implementation
(class)
Trường CĐKTC
N
C2. Tổng quát về lập tr
ình bằng VB
Slide 24
Ki u tr u t ng (Abstract type)ể ừ ượ
Abstract type (type) nh ngh a interface s d ng i t ng.đị ĩ ử ụ đố ượ
Interface là t p h p các 'entry' mà bên ngoài có th giao ti p v i i ậ ợ ể ế ớ đố
t ng.ượ
Dùng signature nh ngh a m i 'entry'. Signature g m :đểđị ĩ ỗ ồ
Tên method (operation, function)
Danh sách tham số hình th c, m i tham s c c t b i 3 ứ ỗ ố đượ đặ ả ở
thu c tính : tên, type và chi u di chuy n (IN, OUT, INOUT).ộ ề ể
c t ch c n ngĐặ ả ứ ă c a method (th ng d ng chú thích).ủ ườ ở ạ
Dùng abstract type (ch không ph i class) c t ki u cho bi n, ứ ả để đặ ả ể ế
thu c tính, tham s hình th c.ộ ố ứ
User không c n quan tâm n class (hi n th c c th ) c a i ầ đế ệ ự ụ ể ủ đố
t ng.ượ
Trường CĐKTC
N
C2. Tổng quát về lập tr
ình bằng VB
Slide 25
Class (Implementation)
Class nh ngh a chi ti t hi n th c i t ng : đị ĩ ế ệ ự đố ượ
nh ngh a các thu c tính d li u : giá tr c a t t c thu c Đị ĩ ộ ữ ệ ị ủ ấ ả ộ
tính xác nh tr ng thái c a i t ng.đị ạ ủ đố ượ
Ki u c a thu c tính có th là ki u c i n (s nguyên, th c, ể ủ ộ ể ể ổ để ố ự
ký t , chu i ký t , ) hay 'abstract type', trong tr ng h p ự ỗ ự ườ ợ
sau thu c tính ch a tham kh o n i t ng khác.ộ ứ ả đế đố ượ
Vi t code hi n th c các method và các 'internal function'.ế ệ ự
nh ngh a các method t o (create) và xóa (delete) i t ng. Đị ĩ ạ đố ượ
nh ngh a các method 'constructor' và 'destructor'.Đị ĩ
User không c n quan tâm n class c a i t ng.ầ đế ủ đố ượ