Khoa Công ngh Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Tin hc
Slide 71
MÔN TIN HC
Chương 3
TNG QUÁT VLP TRÌNH
BNG VISUAL BASIC
Chương 3 : Tng quát vlp trình Visual Basic
3.1 Các khái nim cơ bn vmô hình hướng đối tượng
3.2 Các đối tượng giao din ca VB 6.0
3.3 Hiu chnh thuc tính ca các đối tượng giao din
3.4 To thtc xlý skin ca các đối tượng giao din.
Khoa Công ngh Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Tin hc
Slide 72
Hình v sau đây tng kết cu trúc ca 1 ng dng được lp trình cu
trúc : Chương trình = cu trúc dliu + gii thut
entry 'start'
global data
module
(package)
local data
of module
local data
of function
Chương 3 : Tng quát vlp trình Visual Basic
3.1 Các khái nim cơ bn vmô hình hướng đối tượng
Khoa Công ngh Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Tin hc
Slide 73
Xét cu trúc chương trình c đin ca slide trước, ta thy có 2 nhược đim
chính sau :
1. rt khó đảm bo tính nht quán và đúng đắn ca dliu toàn cc vì
bt klnh nào trong hàm nào cũng có thtruy xut chúng.
2. nếu chương trình cn đồng thi nhiu 'instance' ca cùng 1 module
thì cơ chếlp trình cu trúc không cho phép to t động các
'instance' này.
Để khc phc 2 nhược đim chính trên (và bsung nhiu ưu đim khác),
ta slp trình theo hướng đối tượng (OOP - Object Oriented
Programming) trong đó chương trình là 1 tp các đối tượng sng tương tác
nhau (xem slide kếtiếp).
Visual Basic là ngôn nghtrvic lp trình theo hướng đối tượng, hơn
na VB còn là môi trường lp trình trc quan (visual) nên rt ddùng.
Chương 3 : Tng quát vlp trình Visual Basic
Tlp trình cu trúc đến OOP
Khoa Công ngh Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Tin hc
Slide 74
Chương trình = tp các đối tượng tương tác nhau
entry
đối tượng
(object)
local data
of object
local data
of operation
Chương 3 : Tng quát vlp trình Visual Basic
Cu trúc ca 1 ng dng OOP
Khoa Công ngh Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Tin hc
Slide 75
~Mô hình đối tượng quan nim chương trình bao gm các đối tượng sinh sng
và tương tác vi nhau.
~Đối tượng bao gm nhiu thành phn, mi thành phn thuc 1 trong 2 loi :
thuc tính (attribute) : mang 1 giá trnht định ti tng thi đim.
tác v(operation) : thc hin 1 công vic nào đó.
Interface
(abstract type)
Implementation
(class)
Chương 3 : Tng quát vlp trình Visual Basic
Đối tượng (Object)
Khoa Công ngh Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Tin hc
Slide 76
Abstract type (type) định nghĩa interface sdng đối tượng. Ta
dùng tên nhn dng để đặt tên cho kiu và để nhn dng nó.
Interface tp hp các 'entry' mà bên ngoài thgiao tiếp vi
đối tượng.
Ta dùng signature để định nghĩa mi 'entry'. Signature gm :
tên tác v(operation, function)
danh sách tham shình thc, mi tham s được đặc tbi 3
thuc tính : tên, type và chiu di chuyn(IN, OUT, INOUT).
đặc tchc năng ca tác v (thường dng chú thích).
Ta dùng tên ca abstract type (chkhông phi class) để đặc t
kiu cho biến, thuc tính, tham shình thc.
User không cn quan tâm đến class (hin thc cth) ca đối
tượng.
Chương 3 : Tng quát vlp trình Visual Basic
Kiu tru tượng (Abstract type)
Khoa Công ngh Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Tin hc
Slide 77
~Ta dùng tên nhn dng để đặt tên cho class và để nhn dng nó.
Class định nghĩa chi tiếthinthcđốitượng :
định nghĩacácthuctínhdliu, mi thuc tính được đặc tbi
các thông tin vnó như tên nhn dng, kiu dliu, tm vc truy
xut,... Kiu ca thuc tính có th type c đin (snguyên, thc,
ký t, chui ký t,...) hay 'abstract type', trong trường hp sau thuc
tính s tham kho đến đối tượng khác. Trng thái ca đối tượng
tp giá trti thi đim tương ng cattcthuc tính cađối
tượng. Trong thi gian tn ti và hot động, trng tái ca đối tượng
s thay đổi.
'coding' các tác v(miêu tgii thut chi tiết vhot động ca tác
v) và các 'internal function'.
~Định nghĩacáctác vto (create) và xóa (delete) đốitượng.
~Định nghĩacáctác v'constructor' và 'destructor'.
~User không cn quan tâm đến class cađốitượng.
Chương 3 : Tng quát vlp trình Visual Basic
Class (Implementation)
Khoa Công ngh Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Tin hc
Slide 78
~Bao đóng: chedumichi tiếthinthccađốitượng, không
cho bên ngoài thyvàtruyxutđảmbotínhđộclpcao
giacácđốitượng, nghĩa là độ phthuc (hay tính ghép ni-
coupling giacácđốitượng) rtthp, nhờđódbo trì, phát
trinng dng :
che ducácthuc tính dliu: nếucn cho phép truy xut
1 thuc tính nào đótbên ngoài, ta to2 tác vget/set
tương ng để giám sát victruyxutvàcheduchi tiết
hinthc bên trong.
che du chi tiếthinthccáctác v.
che du các 'internal function' shinthcca chúng.
Chương 3 : Tng quát vlp trình Visual Basic
Tính bao đóng (encapsulation)
Khoa Công ngh Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Tin hc
Slide 79
~Viết 1 ng dng OOP là định nghĩa các type/class ca các đối
tượng cu thành ng dng.
~Tính tha kếcho phép gim nhcông sc định nghĩa type/class :
ta có th định nghĩa các type/class không phi t đầu mà bng
cách kếtha các type/class có sn, ta ch định nghĩa thêm các
chi tiết mi mà thôi (thường khá ít).
Đa tha kế hay đơn tha kế.
Mi quan hsupertype/subtype và superclass/subclass.
th'override' shin thc các tác vca class cha, kết
quoverride ch tác dng trên các đối tượng ca class
con.
Đối tượng ca class con có th đóng vai trò ca đối tượng cha
nhưng ngược li thì không đúng.
Chương 3 : Tng quát vlp trình Visual Basic
Tính tha kế(inheritance)
Khoa Công ngh Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Tin hc
Slide 80
1 đối tượng có thcha nhiu đối tượng khác nhmi quan h
bao gp 1 cách đệ qui gia các đối tượng.
2 góc nhìn vtính bao gp : ngnghĩa và hin thc.
Góc nhìn ngnghĩaGóc nhìn hin thc
O1
O2
O3
O1
O2
O3
O4
O5
O4
O5
Chương 3 : Tng quát vlp trình Visual Basic
Tính bao gp (aggregation)