LP TRÌNH HƯNG ðI TƯNGLP TRÌNH HƯNG ðI TƯNG
Chương 1
9/30/2009 1
NiNi dungdung
• Lp trình thông thưng.
• Lp trình hưng ñi tưng.
•• UUnified MModeling LLanguage - UML.
2
LpLp trìnhtrình thôngthông thưngthưng
• Lp trình tuyn tính
– Tư duy theo li tun t, ñơn gin.
–ðơn lung và các công vic ñưc thc hin tun
t trong lung ñó.
– Tn ti trong modul nhca phương pháp lp
trình khác.
– Không gii quytñưc các yêu cu phc tp.
3
LpLp trìnhtrình thôngthông thưngthưng ((tttt))
• Lp trình cu trúc
–
Cu
trúc
d
liu
:
cách
t
d
liu
,
mô
t
bài
CCu trúc du trúc d liliuu +GiGii thui thutt =ChChươương trìnhng trình
–
Cu
trúc
d
liu
:
cách
t
d
liu
,
mô
t
bài
toán dưi dng ngôn nglp trình.
– Gii thut: mt quy trình ñ thc hin mt công
vic xác ñnh.
4
LpLp trìnhtrình thôngthông thưngthưng ((tttt))
• Lp trình cu trúc (tt)
– Phân chia chương trình chính thành các chương
trình con cho phù hp vi yêu cu, chc năng và
mc
ñích
ca
mi
bài
toán
mc
ñích
ca
mi
bài
toán
– Gii thut luôn phthuc cht chvào cu trúc
dliu
5
LpLp trìnhtrình hưnghưng ñiñi tưngtưng
• Mt skhái nim cơbn
• Lp trình hưng ñi tưng
Object Oriented Programming – OOP
•
Các
ñc
ñim
ca
OOP
•
Các
ñc
ñim
ca
OOP
6
MtMt sskháikhái nimnim cơcơbnbn
•ði tưng (Object)
– Trong thgii thc:
•ñi tưng là mtthc th(entity) cthmà thông
thưng ta có ths, nhìn thyhay cm nhnñưc.
–
Trong
lp
trình
:
–
Trong
lp
trình
:
• Dùng ñ mô t1 ngưi, svt hay khái nim.
•ði tưng là cái mà ng dng munñ cpñn.
• Trong hthng hưng ñi tưng, m i th ñu là ñi
tưng.
7
MtMt sskháikhái nimnim cơcơbnbn ((tttt))
•ði tưng trong th gii thc
Trng thái:
• màu
•
hãng
sn
xut
•
hãng
sn
xut
• model
• giá
• … Hành ñng:
• D!ng
• Chy
• Tăng tc
•Th"ng
•…
xe hơi
8
MtMt sskháikhái nimnim cơcơbnbn ((tttt))
•ði tưng trong th gii thc(tt)
– M iñi tưng ñu có trng thái (state) và hành
ñng (behavior)
9
MtMt sskháikhái nimnim cơcơbnbn ((tttt))
•ði tưng trong lp trình
– Thuc tính, ñc tính, dliu(attribute,
property, data):
• Trình bày, mô tcác ñcñim cañi tưng.
– Phương thc, ng x#, hàm (method,
behavior, function):
• Liên quan ñn nhng th ñi tưng làm.
• Tác ñng lên dliu cañi tưng.
10
MtMt sskháikhái nimnim cơcơbnbn ((tttt))
Thuc tính:
•tiêu ñ
•ni dung
•kích thưc
•
màu
…
•
màu
…
Phương thc:
•v
•di chuyn
•ñi kích thưc
•ñóng, …
11
12
MtMt sskháikhái nimnim cơcơbnbn ((tttt))
Thuc tính:
•Màu lá
•Màu thân
•Chiu cao
•
T a
ñ
•
T a
ñ
Phương thc:
•v
13
MtMt sskháikhái nimnim cơcơbnbn ((tttt))
•Thhin(instance)
– Thuc tính ñưc xác ñnh giá trcth.
–ði tưng cthg i là mt thhin.
ði tưng (object) là mt thc th
phn mm bao b c các thuc tính
b$i các phương thcliên quan.
ðiði tưngtưng XeXe ñpñp
((làlà 1 1 ththhinhin))
14
MtMt sskháikhái nimnim cơcơbnbn ((tttt))
•Lp(class)
– Là m%u(prototype) ca các ñi tưng cùng
kiu.
– Là khuôn ñ ñ ra các ñi tưng.
–
ðnh
nghĩa
các
thuc
tính
và
phương
thc
–
ðnh
nghĩa
các
thuc
tính
và
phương
thc
chung cho các ñi tưng có cùng loi.
VD: Lp XeDap là thit kchung cho các ñi
tưng xe mini, xe ñòn, xe ñm, xe ñua, xe leo
núi, …
15
MtMt sskháikhái nimnim cơcơbnbn ((tttt))
•Lp(class)
– Lp to ra ñi tưng: b'ng cách gán giá trc
thcho các thuc tính.
• Lpñưc to ra khi biên dch
•ði tưng to ra khi thc thi chương trình.
ði tưng là mt thhin (instance) ca 1 lp
16
NhanVienNhanVien
Mã nhân viên
H và tên
Năm sinh
Ngh
nghip
Ngh
nghip
ða ch(
Hslương
Chc v
Làm vic ()
Ngh(phép ()
Lãnh lương ()
ÔngÔng NVANVA BàBà TTBTTB Ông LVCÔng LVC
17
Mt s khái nim cơ bn (tt)Mt s khái nim cơ bn (tt)
•Truyn thông báo
– Thông báo (message): là 1 li yêu cu 1 hot
ñng.
– Thông báo bao gm:
•
ði
tưng
nhn
thông
ñip
.
•
ði
tưng
nhn
thông
ñip
.
• Hotñng (tên ca phương thc thc hin).
• Chi tit thc hin (giá trcác tham s).
– Truyn thông báo: kích hot hàm cùng tên
trên 1 ñi tưng ñ yêu cu thông tin.
18
NhanVienNhanVien
Mã nhân viên
H và tên
Năm sinh
Ngh
nghip
NhanVienNhanVien
8494
NVA
1970
Ths
Tin
h c
Ngh
nghip
ða ch(
Hslương
Chc v
Làm vic ()
Ngh(phép ()
Lãnh lương ()
ÔngÔng NVANVA
Ths
Tin
h c
ðH Tây ðô
3.04
Ging viên
NVA.nghNVA.nghphépphép
(22/9/2009)(22/9/2009)
19
LpLp trìnhtrình hưnghưng ñiñi tưngtưng
• Mt skhái nim cơbn
Lp trình hưng ñi tưng
(Object Oriented Programming – OOP)
•
Các
ñc
ñim
ca
OOP
•
Các
ñc
ñim
ca
OOP
20