Ngon ngu C# duoc str dung de minh hoa cho phuong phap lap trinh huong ddi tuong trong giao trinh nay, vi day la mot ngon ngu don gian, than thien va dac biet la thudn huong ddi tuong.. N
Trang 2■ ,GlAO TRINH *
LAP TRlHH HU0NG DOI TlfOHG
Trang 3NHA XUAT BAN MONG BAN DOC
■ • 1.,r ■
60
- : - 674 2020
QDND - 2020
Trang 4BQ GIAO DUG VA DAO TAO
TRirdNG DAI HOC CUU LONG
NHA XUAT BAN QUAN DOI NHAN DAN
(Dung cho sinh vien ngdnh cong nghe thong tin)
Trang 5i
-Chu bien: TS Truong Quoc Bao
Tham gia bien soan: ThS Tran Thi Thuy
, ThS Tran Lam Quyen\
Trang 6MUC LUC
12 14
19
• 19 20 20 20 22 23 31
36 37 39 41 42
DANH MUC HINH ANH VA BANG BIEU
DANH MUC Ttf VIET TAT
DOITU QNG
1.1 Giai thieu
1.2 Cac phuong phap lap trinh
1.2.1 Lap trinh tuyen tinh
1.2.2 Lap trinh huang cau true
1.2.3 Lap trinh huang dan the
1.2.4 Phuong phap tien can huang doi tuang
1.2.5 So sanh hai each tiep can
1.2.6 Xu huang phat then cua lap trinh huang doi tuang 34 1.3 Mot so khai niem ca ban
1.3.1 Doi tuang
1.3.2 Lap
1.3.3 Thuoc tinh
1.3.4 Phuong thuc
Trang 71.3,5 Trinitiiong hoa
46 46
■ , :46 48 49 50 50
51
' -52 1.6.2 ASP.NET va C#.NET
53 1.6.3 Java
55 56
■ 57 57
60
64
66
2.5.1 Phuong thuc tao (constructor) 67
2.2 Thuoc tinh truy cap (Muc do truy cap)
2.3 Cach su dung cac doi tuong ciia lop
2.4 Ttr khoa this
1.3.6 Thong diep
1.4 Cac dac diem quan trong cua lap trinh huong doi tuong
CAU HOI ON TAP
Chuang 2: LOIP DOI TURING
2.1 Khai bao lop '■
1.4.3 Da hinh
1.5 Mot so thuat ngu cua lap trinh huong doi tuong
1.6 Mot so ngon ngu lap trinh huong doi tuong
1.6.1 C++
1.4.1 Dong goi.
1.4.2 KSthua
Trang 869 70
2.7.1 Thuoc tinh tinh
74 76
’ll
78
80
81 86 90 90 90 91 91 92
■ 92
93
2.5.2 Phuong thuc tao sao chep (copy constructor)
2.6 Huy doi tuong
73
2.11.1 Cac truong chi doc
2.11.2 Lop truu tuong
2.11.3 Lop giao dien
2.11.4 Lop Sealed
2.11.5 Lop tinh
CALF HOI ON TAP
2.7.2 Phuong thuc tinh
2.8 Truyen tham so
2.8.1 Truyen tham tri bang tham so kieu gia tri
2.8.2 Truyen tham chieu bang tham so kieu gia tri
vdi tu khoa ref
2.8.3 Truyen tham chieu voi tham so kieu gia tri
bing tii khoa out
2.9 Qua tai phuong thuc (nap chong - overloading)
2.10 Dong goi du lieu vai thuoc tinh
2.11 Mot s6 khai niem khac
Trang 9105 105 106 107 112 117 118 118 119 119 119 121 123 123 124 125 126 128
4.4 Goi phuang thuc tao cua lap ca sa
4.5 Vi du
BAI TAP
Chiroug 3: NAP CHONG TOAN TU* (OPERATOR
OVERLOADING)
5.1 Toantu
3.2 Nap chong loan tur
■3.2.1 Toan tu mot ngoi
3.2.2 Toan tu hai ngoi
3.3 Pham vi su dung toan tu
3.4 Yeu ciu khi su dung
3.5 Uu nhugc diem cua tai dinh nghTa toan tu
Trang 10138 140 141 141 143 147 149 149 150 151 156
- 5.4 VI du
166 : 171 173 173 174 179 181 181 181 184
; 5.2 Tao phuong thiic da hinh
5.3 Phan biet tir khoa new va override
TONG KET CHLTONG 5
BAI TAP
ChtfOTig 6: INTERFACE (GIAO DIEN)
6.1 Gioi thieu
6.2 Thue thi mot giao dien
6.3 Thue thi nhiSu giao dien
4.6 Lop co so va doi tuong thanh phan
4.7 Nghiem cam ke thira
Trang 116.4 Ma rang giao dien 188
189 190 191 191 193
204 204
211
TONG KET CHLTONG 6
BAI TAP
1 C# va Net
1.4 Ngon ngu C#
2 Tao ung dung trong C#
2.1 Lop, doi tuong va kieu
2.3 Str dung cong cu do 16i cua Visual Studio Net ■ 202
3 Co sc cua ngon ngu C#
S.l.KiSu
Trang 12216 216
Trang 13DANH MUC HINH ANH VA BANG BlfiU
A • 9
so kieu gia tri
Hinh 2.1 KSt qua chay chuong trinh minh hoa lop di&n
Hinh 2.2 Ket qua chuong trinh minh hoa lop hoc sinh
Hinh 2.3 KSt qua minh hoa v6 thuoc tinh tmh
Hinh 2.4 Truyen tham tri bang tham s6 ki$u gia tri
Hinh 2.5 TruySn tham chiSu bang tham s6 ki6u gia tri
voi tu khoa ref
Hinh 2.6 Truyen tham chieu bang tham
voi tir khoa ref voi lop thoi gian
Hinh 2.7 Truyen tham chi&i voi tham s6 ki£u gia tri bang tir khoa out Thong bao loi
Hinh 2.8 Kit qua chay minh hoa chuong trinh vi du v£ qua tai phuong there
Hinh 2.9 K6t qua chay minh hoa chuong trinh vi du vS qua tai phuong thuc Lop thoi gian
Hinh 2.10 Ket qua chuong trinh minh hoa v£ dong goi
du lieu vdi thuoc tinh
Hinh 3.1 Ket qua chay chuong trinh minh hoa v£ toan tu
mot ngoi Lop Thoi gian
Hinh 3.2 Ket qua chay chuong trinh minh hoa v£ toan tir mot ngoi Lop sd
Trang 14117 131 137
156 165 170 184 154
, \
Hinh 3.3 Ket qua chay chuang trinh minh hoa ve loan tur
hai ngoi Lop Phan so
Hinh 4.1 Ket qua chay chucmg trinh vi du minh hoa ve
ke thua Quan ly luong nhan vien
Hinh 4.2 Ket qua chay chucmg trinh vi du minh hoa ve
ke thua Tuyen sinh
Hinh ‘4.3 Ket qua chay chuong trinh vi du minh hoa ve
ke thua Hinh hoc
Hinh 5.1 K£t qua chay chucmg trinh minh hoa phan biet
tu khoa new va override
Hinh 5.2 Ket qua chay chuomg trinh minh hoa ve Da hinh Quan ly luomg nhan vien
Hinh 5.3 Ket qua chay chuomg trinh minh Hoa ve Da
-Hinh 6.1 K6t qua chay vi du minh hoa ve Interface Lap Xe
Bang 5.1 Phuong thuc cua lap Object ma lap dan xuat
co the ghi de
Trang 15DANH MUC TtT VIET TAT• • ■
OOP Object Oriented Programming
Object Oriented Methoology
Phan rich huong doi tuong Thiet ke huong doi tuong Phan rich thiet ke huong
Lap trinh huong doi tuong
Trang 16LCH MdDAU
Phan mem ngay cang Ion va phuc tap va doi hoiphai duoc cap nhat lien tuc d£ dap ung nhirng yen canmoi cua nguoi dung Phuong phap lap trinh thu tuc
truyen thong dan tro nen khong dap ung duoc nhung doi hoi do cua nganh cong nghiep phan mem Lap trinh
huong doi tuong da ra doi trong boi canh nhu vay de ho tro su dung lai va phat trien cac phan mem quymo Ion.Phuong phap lap trinh huong doi tuong la motphuong phap lap trinh duoc su dung, boi hau het cacngon ngu lap trinh pho dung Day la phuong phap lap
trinh duoc de xu4t boi Dr Lan Kay vao nhung nam diu
cua thap nien 70 Mo hinh ma phuong phap lap trinh
huong ddi tuong d£ xu^tduatrenkhai niem ddi tuong va
lop, trong do chuong trinh la mot tap cac doi tuong tuong tac lan nhau
Ngon ngu C# duoc str dung de minh hoa cho
phuong phap lap trinh huong ddi tuong trong giao trinh nay, vi day la mot ngon ngu don gian, than thien va dac
biet la thudn huong ddi tuong Su don giancuangon ngu
C# giup nguoi hoc co thd tap trung vao tim hidu phuong
Trang 17phap lap trinh, khong bi phan tan bdi rao can cua ngon ngu lap trinh Ngoai ra, C# cung la ngon ngfr lap trinh dugc su dung bdi nhieu mon hoc khac trong chuong trinh dao tao Ky su Cong nghe Thong tin cuaTruongDaihoc Cuu Long.
Giao trinh nay cung cap cho sinh vien cac kienthuc
Mon lap trinh hudng doi tuong theo chuong trinh
duoc phanbo lam 3 tin chi (45 tiet) ly thuyet va 1 tin chi(30 tiet) thuc hanh Noi dung cua giao trinh chia lam 6 chuong va 1 phu luc nhu sau:
- Chuong 1: Tong quan ve lap trinh hudng d6i tuong.
Trinh bay su tien hoa cua each tiep can tir lap trinh
truyen thong den each tiep can cua lap trinh hudng doi tuong va xu hudng phat trien cua lap trinh hudng ddi
tuong hien nay Trong chuong nay cung trinh bay cac
khai niem co ban nhu ddi tuong, lop ddi tuong vdi cacthudc tinh va phuong thuc, cac dac diem co ban cua lap
trinh hudng ddi tuong nhu tinh thua kd, tinh da hinh, tinhdong goi Va gidi thieu tong quan mot so ngon ngu lap trinh hudng ddi tuong thong dung hien nay
Trang 18- Chinmg 2: Lop doi twang Trinh bay cac ky
thuat lap trinh huong doi ttrong dua tren ngon ngu C#
nhu khai bao lop,cac thuoc tinh va phuong thuc lop; tao,huy doi tuong; thanh vien tinh; truyen tham so; qua tai
r
phuong thuc va mot so khai niem khac trong lap trinh hudng doituang (lap trim tuang, lop giao dien, lap sealed,laptinh)
- Chirong 3: Nap chdng toan tu Trinhbay cac khai
niem va cai dat nap chong toan tu tren C# Trong chuang
nay, cung trinh bay uu, nhugc diem, pham vi su dung va
r x
mot so yeu cau khi tai dinh nghia toan tu tren C#
- Chuang 4: Ke thira. Trong chuang nay, chung
r
toi trinh bay ky thuat ke thua tren C#
- Chuang 5: Da hinh Trinh bay ky thuat da hinh
F
tren C# nhu tao phuong thuc da hinh, mot so luu yvdi tu
khoa new va overrideva lop trimtuang
- Chuang 6: Interface Trinh bay cac ky thuat lap
trinh giao dien cobanva nang cao trenC#
- Phu luc: Ngon ngu C# Giai thieu nhung khai
niem va nhung quy uac ban dau cua ngon ngu lap trinhC# Cau true chuong trinh, each bien dich, each dat tenbi£n, ki6u du lieu va cau true lenh ben trong ngon nguC#
Viec cho ra dai mot quyen giao trinh vbi muc tieu
nhu da neu d tren la khong dan gian khi kha nang va
THU
Trang 19Tien siTRITONGQUOC BAG
kinh nghiem ciia nhom bien soan con gidi han; nhieukhai niem, thuat ngu dung trong giao trinh co nhieu dinh
nghia va each tiep can khac nhau Vi vay giao trinh nay
chac khdng tranh khdi nhung khiem khuyet, rat mongnhanduoc su gop ycuacac dongnghiep va ban doc
Trang 20- Trinh baycac phuong phap lap trinh
- Mot so khai niem co ban trong lap trinh huong
mem cang phat trien thi ngudi ta cang thay ro tarn quan trong cua phuong phap lap trinh Phuong phap lap trinh tdt khong chi dam bao tao ra cac phan mem tot ma con
hd tro thiet ke phan mem cd tinh ma va ho tro kha nang
su dung lai cac mo dun Nho do chung ta cd the de dang
Trang 21bao tri, nang cap phan mem cung nhu giam chi phi phat
trien phan mem
1.2 Cacphuong phap lap trinh
1.2.1 Lap trinh tuyen tinh
Dac tnmg co ban cua lap trinh tuyen tinh la tu duy
Lap trinh tuyen tinh co hai dactnmg:
- Dan gian: Chuang trinh duac tien hanh dan gian
theoloituantu, khong phuc tap
- Dan luong: Chi cd mot ludhg \ cdng viec duy% nhat,
va cac cdng viec duac thuchientuan tu trongludng do
LTu diem cua lap trinh tuyen tinh la chuong trinh
dan gian, de hieu, de ap dung cho cac chuang trinh dan
gian Vai cac chuang trinh phuc tap, khdng the su dung
lap trinh tuyen tinh de giai quyet
f
Ngay nay lap trinh tuyentinh chi ton taitrongpham
vi cac md dun nhd nhat cua cac phuong phap lap trinh khac Vi du nhu mot chuang trinh con cua lap trinh cd cau true, cac lenh cung duac thuc hien tuantu tu dau dencudi chuang trinh con
1.2.2 Lap trinh hirong cau true
Trong lap trinh hudng cau true, chuang trinh chinh
duac chia thanh cac chuangtrinh con va cac chuang trinh
Trang 22con thuc hien mot cong viec xac dinh Chuang trinh chinh se goi chuang trinh con theo mot giai thuat hoac mot cau true duoc xac dinh Cac ngon ngu lap trinh
hudngcau truepho bien nhu Pascal, C va C++
Dac trung co ban nhat cua lap trinh huang cau true
- Cau true du lieu la each to chuc du lieu, each mo
ta baitoan dudi dang ngon ngu lap trinh
- Giai thuat la mot quy trinh de thuc hien mot cong
viecxac dinh
Trong chuong trinh, giai thuat co quan he phuthuocvao cau true du lieu:
- Mot cau true du lieu chi phu hop vdi mot so han
che cac giai thuat
- Neuthay doi cau true dulieu thi phai thay doi giai
thuat chophu hop
- Mot giai thuat thuang phai di kem vai mot cau
F
truedu lieunhat dinh
Tinh chatcua lap trinh hudng cau true:
- Moi chuong trinh con co the duac goi nhieu lantrong chuong trinh chinh,
- Cac chuong trinh con co the duoc goi den theo mot thu tubat ky, tuy thuoc vao giai thuat trong chuong
Trang 23trinh chinh ma khong phu thuoc vao thii tu- khai bao cuacac chuong trinh con
motso can true dieu khien chuong trinh
- Chuang trinh sang sua, de hieu, de theo doi
- Tu duy giai thuat ro rang
r
- Lap trinh huong cau true khong ho trgviec su dung
lai ma nguon: Giai thuat luon phu thuoc chat che vao cau
true du lieu, do do khi thay doi cau true du lieu thi phai
thaydoi giaithuat,nghia la phai viet laichuong trinh
-Khong phuhopvai cac chuong trinh Ion
Van•> de co ban cua lap trinh huong cau true la lamsao de chia chuong trinh Ion thanh cac chuong trinh con
chophuhopvdi yeu cau, chuc nang va mucdich cua moi
bai toan Thong thuong de phan ra bai toan trong lap
trinh co cau true, ngubi ta thiet ke theo phuong phap tir
f
tren xuong (top down)
1.2.3 Lap trinh hirbng don th£
Trong phuong phap nay ngubi ta xem chuong trinh
la mot he thong cac don the, moi mot don the la mot he
thong cac thu tuc va ham Khi do, viec viet chuong trinh
la xac dinh xem chuong trinh gom nhung don the nao?
Trang 24Dan tM n
Kh6i khai bdo
void main() {
- Donthe hudng du lieu ladon the duoc thiet ke va
xay dung de phuc vu cho mot kieu du lieu nao do ben
trongchuong trinh Vi du: Thu vienstring.h
- Don the hudng chuc nang la don the duoc thiet ke
va xay dung de phuc vu cho motnhdm chuc nang nao do
bentrongchuong trinh Vi du: Thu vien math.h
Dan th& 1
Trang 25- Khong quan ly duoc su thay doi du lieu khi co
nhieu chuong trinh cung thay doi mot bien chung Van
de nay dac biet nghiem trong khi cac ung dung ngay cang Ion, nguoi ta khong the kiem soat duoc truy nhap
dencac biendulieuchung
r
- Khong tiet kiem duoc tai nguyen con nguoi: Giai
thuat gan lien voi cau true du lieu, neu thaydoi cau true
du lieu, se thay doi giai thuat va phai viet lai ma chuong trinh tu dau
De khac phuc duoc hai han che nay khi giai quyetcac bai toan Ion, nguoi ta xay dung mot phuong phap tiep can moi la phuong phap lap trinh hudng doi tuong,voi hai muc dich:
*> r
- Dong goi du lieu de han che su truy nhap tu do
vao dulieu, khong quan lyduoc
- Cho phep su dung lai ma nguon, han ch£ viec phai viet lai ma tu dau cho cac chuong trinh
Viec dong goi du lieu duoc thuc hien theo phuong
phap trim tuong hoa d6i tuong thanh lop tu thap len cao nhu sau:
- Thu thap cac thuoc tinh cua moi doi tuong, gincacthuoc tinhvao doi tuong tuong ung
- Nhdiri cac doi tuong co cac thuoc tinh tuong tu
nhau thanh nhom, loai bo bdt cac thuoc tinh cabiet, chigiu lai cac thuoc tinh chung nhat Day duoc goi la qua
trinh trim tuong hoa doi tuong thanh lop
Trang 26- Dong goi du lieu cua cac doi tuong vao lop tuong
ung Moi thuoc tinh cua doi tuong tro thanh mot thuoc tinh cua lop tuong ung
- Viec truy cap du lieu duoc thuc hien thong quacac phuong thucduoc trang bi cho lop Khong duoc truycap tu do true tiep den du lieu
- Khi co thay doi trong du lieu cua doi tuong, ta chi
can thay doi cac phuong thuc truy cap thuoc tinh cualop
ma khong can thay doi ma nguon cua cac chuong trinh
su dung lop tuong ung
Viec cho phep sudung lai ma nguonduoc thuchienthong qua co ch6 ke thua trong lap trinh hudng doituong Theo do:
- Cac lop co the duoc ke thua nhau de tan dung cac
thuoc tinh, cac phuong thuccua nhau
- Trong lop danxuat(lop duockethua, lop con) co the
su dung lai cacphuong thuc cua lop co so (lop bi lop khac k£thua, lop cha) ma khongcAn thiet cai dat lai ma nguon
- Ngay ca khi lop dan xuAt dinh nghia lai cac phuong thuc cho minh, lop co so cung khong bi anh hudng va
khong phaisua lai bat ky mot doanma nguon nao
Ngon ngu lap trinh hudng doi tuong pho bien hien
nay la C# (CSharp), C++, Java, Trongdo C++ la ngon
ngu co nhung dac trung co ban cua lap trinh hudng doi tuong nhung van khong phai la ngon ngu lap trinh thuan
Trang 27hudng doi tirong Con C# va Java thuc su la ngon ngulap trinh thuan huong doi tuong.
Lap trinh hu&ng doi tuong cd hai dqc tnmg co ban:
Dong goi du lieu: Du lieu luon duoc to chuc thanhcac thuoc tinh cua lop doi tuong Viec truy cap d£n dulieu phaithong qua cac phuong thuc cuadoi tuong lop
Su dung lai ma nguon: Duoc the hien thong qua co
che ke thua
- Khong con nguy co du lieu bi thay ddi tu do trong
chuongtrinh
- Khi thay doi cau true du lieu cua mot lop, khong
can thay doi cac ma nguon cua cac lop khac ma chi c&nthay doi mqt so phuong thuc ciia lop bi thay d6i DiSu nay han che su anh hudng xau cua viec thay ddi du lieu
den cac lop khac trong chuong trinh
-Cd the su dung lai ma nguon, tiet kiem tai nguyen
-Phuhop vdi cac du an phan mem Ion, phuc tap
I.2.4.2 Phuong phap phan tich va thiet ke hirdng doi tuong
Mot so van de co ban dat ra cho phuong phap hudng ddi tuong la tu mot bai toan ban dAu, lam sao
de thu duoc mot tap cac ddi tuong, vdi cac chuc nang
bai toan dat ra? Phuong phap phan tich thidt kd hudng
Trang 28d6i tugng ra doi nham tra lai cho can hoi nay Muc
dich la xay dung mot tap hop cac lop doi tuong tuong
ung vdi moi bai toan, phuong phap nay tien hanh theohai pha chinh:
- Pha phan tich: Chuy^n doi yen cau bai toan tir
ngon ngu tu nhien sang ngon ngumo hinh
- Pha thiet ke: Chuyen doi dac ta bai toan duoi dang ngon ngu mo hinh sang mot mo hinh cu the co thecaidat duoc
Hai pha phan tich va thiet ke nay bao gom nhieubuoc khac nhau:
-Mo ta bai toan
- Dac tayeu cau >
- Trich chon doi tuong
- Mo hinhhoa lop doi tuong
- Thietke tong quan
- Thietke chi tiet
Butfc 1: Mo ta bai toan
Bai toan ban dau duoc duoc phat bieu dudi dang
ngon ngu tunhien, bao gom:
- Muc dich, chuc nang chung
-Cac yeu cau ve thong tin du lieu
- Cac yeu c&u ve chuc nang thuchien
Trang 29Bird’ c 2: Dac ta yeu cau
Cac yeu cau duoc hinh thuc hoa len mot muc cao
hon bang each su dungngon ngu kieukichban de mo ta
Trong motkich ban, moi chuc nang, moi boatdong duroc
mo ta bang mot kichbanbao gom:
- Cac tac nhan tham giavao kichban
- Vai tro cuamoi tac nhan trongkichban
- Thu tucac hanh dong ma moi tac nhan thuc hien:
Khi nao thuc hien, tac dong vao tac nhan nao, thong tinnao dugc trao doi
Qua trinh tren dugc tien hanh voi tat ca cac chuc nang yeucau cuahe thong
Bird’ c 3: Trich chon doi tirong
Bude nay se tien hanh de xuatcac ddi tugng co th£
cd mat trong he thong:
- Dua vao cac kich ban dugc mo ta trong budc hai,
chon ra cac tac nhan cd xuit hien d£ d£ xu&t thanh cac
ddi tugng
- Lua chon cac doi tugng bing each loai bo cac tac
nhan benngoai he thong, cac tac nhan trunglap
- Cudi cung, ta thu thap dugc tap cac ddi tugng cua
he thong
Bird’ c 4: Mo hinh hoa Idp doi tirnng
Budc nay tidn hanh triru tugng hoa ddi tugng thanhcac Idp:
Trang 30- Thu thap tat ca cac thuoc tinh cua moi doi tugng vua thu thap duoc, dua vao yeu cau ve thong tin trongyeu cau he thong (tu buoc 1)
- Thu thap cac hanh dong ma moi doi tugng can
f
thuc hien, dua vao cac kich ban ma doi tugng tuong ung
co tham gia (trong buoc 2)
- Nhom cac doi tugng tuong tunhau, hoac co nhieu
> r
thuoc tinhgan giong nhau
- Loai bo mot so thuoctinh ca biet, rieng tu cua mot
so doi tugng trongnhom
- Mo hinh moi nhom doi tugng con lai thanh lop: Cac thuoc tinh chung cua cac ddi tugng thanh thuoc tinh
cua lop, cac hanh dong cua cac d6i tugng thanh phuongthuc cua lop
Ket qua thu dugc mot tap cac lopdoi tugng ban dau
ke moi quan he giua cac lop trong he thong:
- Xac dinh so do thua ke neu co giua cac lop: Neuhai lop co mot so thuoc tinh chung, thi tach cac thuoctinh chung lam thanh mot lop co so va hai lop ban dau d£u din xuat tu lop co so do Thong thuong, lop chungnhat se lam lop co so va lop cang cu the cang chi tiet thi
lamlop dan xuat
Trang 31- Xac dinh tirang tac neu co giua cac lop: Dua vao
cac kich ban dugc mo ta trong buoc 2, hai tac nhan co
tirong tac vol nhau thi hai lop tuong ung o budc nay cung co tirang tac vbi nhau
Ket qua thu dugc cua budc nay la mot so do quan
he ben ngoai giua cac lop trong he thong
Binfc 6: Thiet ke chi tiet
f f
Budc nay se thuc hien thiet ke d muc vi mo, nghTa
la thiet ke kientrue ben trongcuamoi Idp ddi tugng:
- To chuc du lieu cua Idp theo cac thuoc tinh Quy
dinhpham vitruy cap cho tung thuoc tinh
- Thiet ke chi tiet each cu xu cua Idp ddi tugng
thong qua cac phuang thuc cua lap: Xac dinh kidu du
lieu tra ve, kieu tham so cua phuang thuc, mo ta thuat
toanchi tiet cho tungphuang thuc, neu can
Ket qua thu dugc cua budc nay la mot tap cac lap
vdi thiet ke chitietkientrueben trong
Sau cac budc phantich thiet ke hudng ddi tugng tu mot yeu cau cua bai toan ban d&u, ta thu dugc mot md
hinh he thonghudngddi tugng chi tidt:
- C6 cai nhin tong quan,vimd ve he thong b&ng md hinh thiet ke tong quan, chi ro sd lugng cac Idp ddi
tugng, mdi quan he ke thua va quan he tuang tac giuacac Idp ddi tugng trong he thdng
Trang 32Co cai nhin chi tiet, vi mo ve he thong bang mo
Sau pha phan tich va thiet ke hudng doi tuong, ta
thu duoc dac ta he thong dudi dang mo hinh cac lop:
tren nhieumat:
- Phuong phap mo hinh bai toan khac nhau
-Dac trung khac nhau ve dong gdi
-Uii / nhuoc diem khac nhau
- Linh vuc ung dung khac nhau
Khac nhau ve phuong phap mo hinh
Hai phuong phap nay khac nhau hoan toan d each
Trang 33- Phuong phap huong doi tuong bat dau bang
nhung doi tuong cu the, tap hop cac thuoc tinh cua tung doi tuong Sau do, nhom cac doi tuong tuong tu nhau
thanh nhom, loaibo cac thuoctinh qua ca biet,chi giu lai
Hai phuong phap tiep can nay cd nhung dac trung
hoan toan khac nhau:
- Phuong phap hudng doi tuong cd dac trung la dulieu duoc dong gdi de han che truy cap tu do true tiep
Thu hai la cho phep su dung lai ma ngudn de tiet kiem tai nguyen va edng sue
-Trongkhi do, dac trung cuaphuong phap lap trinh
truyen thong la cau true du lieu, giai thuat va moi quan
he phu thuoc chat che cua giai thuat vao cautrue du lieu
Khac nhau ve uu, nhuoc diem
•>
diem trai nguoc nhau nhu:
Trang 34- Phuong phap huong doi tuong co uu diem la bao
ve du lieu tranh bi truy cap true tiep tu do tu ben ngoai, tiet kiem duoc tai nguyen va cong sue lap trinh do co the dung lai duoc ma nguon Tuynhien, phuong phap nay lai
kha phuc tap, kho theo doi duoc luong du lieu va hon
r \
nua giai thuat khong phai la van de trong tam cua phuong phap nay
5 f
- Trai lai, phuong phap lap trinh truyen thong lai co
uu diem la tu duygiai thuat ro rang, de theo doi luong du
lieu, chuong trinh dongian va de hieu Tuy nhien, khong
bao ve duoc an toan ve du lieu trong chuong trinh Hon
nua, han che Ion nhat la su phu thuoc chat che cua giai
thuat vao cautrue du lieu, khiencho khi thaydoi cau true
du lieu thi thuong phai thay doi giai thuat va do do, phai
viet lai ma cho chuong trinh
Khac nhau ve linh vuc ap dung
Do su khac nhauve cac dac trung va su khac nhau
ve uu, nhuoc diem, cho nen hai phuong phap nay cung
co su khac nhau dang ke tronglinh vuc ap dung:
- Phuong phap lap trinh huong doi tuong thuong
duoc ap dung cho bai toan Ion, phuc tap, co nhieu luong
du lieu khac nhau, khong the quan ly duoc bang phuong
phap lap trinh truyen thong Khi do, nguoi ta ’ dung phuong phap huong doi tuong de tan dung kha nang bao
ve du lieu tranh bi truy cap tu do Hon nua, tan dungkha
Trang 35nang dung lai ma nguon cua phuang phap nay de tiet
kiem tai nguyen va cong sue
> r
- Trong khi do, phuang phap lap trinh truyen thong
thuong phu hapvdi cac bai toan nhd, co luong du lieu to rang, can phai tu duy giai thuat ro rang va nguai lap trinh
vln co kha nang tu quan ly dugc moi truy cap den cac dulieu cua chuang trinh
1.2.6 Xu huoug phat trien cua lap trinh hirdoig doi tirang
Lap trinh hirong thanh ph^n
Xuat phat tu lap trinh huang doi tuong, tu duy lap
trinh huang thanh phan (component oriented programming)
- Sau do, ngudi ta ghep cac thanh phan voi nhau de
thu dugc mot phan mem thoa man mot tap cac yeu cauxac dinh
Vai lap trinh huang thanhphan, ngudi ta co thetien
hanh lap trinh theo phuong phap sau:
- Xaydung mot thu viencac thanhphan, moi thanh phan thuchien mot cong viecxac dinh
Trang 36ghep lai vdi nhau Nguvi lap trinh chi phai phattrien them
cac thanhphanminh canmachua co trong thu vien
Phuong phap nay co uu diem ratIon:
- Lap trinh vien co the chia se voi nhau nhung thanh
Trong xu hudng lap trinh hudng thanhphan, mot so
phuong phap lap trinh khac da nay sinh va dang phattrienmanh me:
- Lap trinh hudng agent (agent oriented programming)
- Laptrinh hudng aspect (aspectorientedprogramming)
Lap trinh hirdng agent
Lap trinh hudng agent cd the xem la mot muc triru
tuong cao hon cua lap trinh hudngthanhphan Trong do,
cac agent la cac thanh phan cd kha nang hoat dong doclap, tu chu de hoan thanh cong viec cua minh Hon nua,
cac agent cd kha nang chu dong lien lac vdi cac agent khac de cd the phdi hop, cong tac hay canh tranh nhau de hoan thanh nhiem vu
Lap trinhhudng agent cd hai dac trung coban:
Trang 37/ 9
- Thu nhat la kha nang tu chu cua moi agent de
hoanthanh nhiem vu rieng
- Thu hai la tinh to , chuc xa hoi giua cac agent, cho•»
phep cac agent phoi hop, cong tac, canh tranh nhau de hoan thanh nhiem vu chung cua toan he thong
Lap trinh huong aspect
Lap trinh huong aspect cung la mot xu huong ciialap trinh huong thanh phan Theo do, moi thanh phan co nhiem vu hoan thanhtheo mot luong cong viec hoac mot
r \ o '
khia canh cua van de Sau do, tong hop cac thanh phan cua cac luong khac nhau, ta thu duoc giai phap cho baitoan cua minh
Lap trinh huong aspect co dac trung co ban:
- Tinh dong goi theo luong cong viec, hoac dong
goi theo khia canh cuavande
- Tinh don dieu theo luong, trong mot luong cong
f
viec, cac nhiem vu duoc thuchien lien tiep nhau, tuan tu nhu tronglap trinh tuyen tinh
1.3 Mot so khai niem * • co ban
Huong doi tuong la ky thuat mo hinh hoa mot he
Trang 38- Ma s6: 1711020399
- Ho ten: Tran ThiThiiy
-Nganh hoc: Cong nghe thongtin
- Khoa: Ky thuat - Cong nghe
Trong khi do, trang thai cua thiet'bi trong phong/ khoa la:
(class) la mot khai niem triru tuong dung de chi mot tap
hop cac doi tuong co mat trong he thong Moi lop la dac
ta cac dac diem cua cac doi tuong thuoc lop do Cu the, mot dinh nghia lop mo ta tat ca cac thuoc tinh cua cac
ddi tuong thanh vien cua lop va phuong thuc thuc thihanh vi cua cac doi tuong do
- Trong bai toan quan ly trang thiet bi, moi thiet bi
cu the cua mot khoa/phdng la mot doi tuong Nhungkhai
niem “Thidt bi” la mot lop ddi tuong dung de chi chungchungmotthiet bi
Trang 39Quan he giua lop va doi tuong gan giong nhu quan
he giua kieu du lieu va cac bien thuoc kieu du lieu do
Cac doi tuong duac tao ra khi chuong trinh chay va lop
thong tu dong goi mot ham khoi tao (Constructor) de khdi tao gia tri cho cac thuoc tinh cua doi tuang Ke tu
do, doi tuang bat dau ton tai, nd gui va nhan cac thong
f
diep va cudi cung thi nd bi huy di khi khdng con can tdi nua Trong khi doi tuang tdn tai, nd giu mot dinh danh
va trang thai cuaminh Moi doi tuang cd mot dinh danh
rieng va cd bo thuoc tinh rieng, doc lap vdi cac ddi tuang khac thuoc cung mot lop Trong thuc te, moi ddi tuong
cd vitri rieng trongbd nhd
Cac ddi tuang dung cac thong diep de lien lac vdi nhau Nhin tu phuong dien lap trinh, viec gui mot thongdiep tai mot ddi tuang chinh la goi mot phuongthuc ciiaddi tuang do, con viec mot ddi tuang nhan duac mot
Trang 40kieu huang doi tirong la boat dong dinh nghia cac the
loai cua cac doi tirong do o hinh thuc cac khuon mau de
tao ra chung
Trong thoi gian chay, mot chirong trinh OOP chinh
la mot tap cac ddi tirong gui thong diep cho nhau de yencan dichvu va thirchien dich vu khi duoc yeu cau Viec
mot doi tirong thirc hien mot dichvu co the dan denviec
no thay doi trang thai cua ban than Mot vi du co tinh
chat gan voi the gidi thirc: xuat hoa don tai mot cua
f
hang Ta co cac doi tuong: nhan vien, khach hang, hang
hoa, doanh thu cua cua hang, Trinh tu dien ra nhu sau: Khach hang mua hang va nhan vien lap hoa don, mon
hang do se giam 1 trong kho, tien doanh thu cua cua hang
setanglen voi khoan tiencua khachmua vada trir thue va
so luong hoa don luu tru tang them 1 Nhuvay giao dich nay bao gom cac yeu cau dich vu va viec cac doi tuong
thuchien cac yeucau do, dong thoithaydoitinh trang cua
minh (doanh thu cua hang tang len, so luong hang trong
kho giam, so luonghoa don tang them, )
1.3.1 Doi tuong
Trong lap trinh hudng doi tuong gan nhu bat cu thu
gi cung co the duoc mo hinh hoa bang mot doi tuong
Moi ddi tuong co mot tap cac thuoc tinh (attribute) nhucac gia tri hay trang thai de mo hinh hoa doi tuong do.M6i ddi tuong co mot tap cac trach nhiem ma no thuchien bang each cung capdichvu cho cac ddi tuong khac
Cac dich vu nay cd the cho phep truy van thong tin haylamthayddi trangthai cua ddi tuong