You are on page 1of 28

1

Bi 1: Gii thiu v lp trnh


hng i tng
B mn CNPM

Gii thiu
Tng quan
Lp trnh hng i tng
Lp trnh nh hng i tng
Object Oriented Programming (OOP)
c xem l:
Cch tip cn mi, hiu qu hn
Gip tng nng sut
D dng bo tr, sa i, nng cp
Mc ch:
Gim bt thao tc vit trnh
M t chn thc th gii thc

Tng quan v cc phng php lp trnh


Lp trnh truyn thng.
Lp trnh phi cu trc ( Lp trnh tuyn tnh).
Lp trnh cu trc.
Lp trnh hng i tng.

Lp trnh phi cu trc

Nhc im:

Khng s dng li c cc on m
Khng c kh nng kim sot phm vi truy xut d
liu
Mi d liu trong chng trnh l ton cc
D liu c th b sa i bt c v tr no trong
chng trnh.

Lp trnh phi cu trc


Lp trnh phi cu trc :
Cn gi l lp trnh tuyn tnh.
Gii quyt cc bi ton tng nh, tng i n gin
c im:
Ch gm mt chng trnh chnh
Gm mt dy tun t cc cu lnh. Khng theo mt m
hnh no.
Mi cu lnh ch dn cho my tnh thc hin mt cng vic
g .
Chng trnh ngn, t hn 100 dng.
Cng vic lp trnh vin: To ra mt danh sch cc ch
lnh, my tnh thc thi cc ch lnh .

Phn chia thnh cc th tc.


Khi chng trnh ln, mt danh sch cc ch lnh s tr thnh cng knh,
kh s dng.
tng: Chia chng trnh thnh cc hm (th tc, chng trnh con).
Mi hm s thc hin mt mc ch ring, thit lp mt giao tip ring i
vi cc hm khc.
T tng chia chng trnh thnh cc hm Nhm mt s hm thnh
cc module Lp trnh module.
Vi lp trnh module:

Cc th tc c chung mt chc
nng c nhm li vi nhau

Chng trnh c chia thnh


nhiu phn nh

Cc phn tng tc thng qua


vic gi th tc

Mi m un c d liu ca ring
n

Lp trnh cu trc

Ra i vo nhng nm 70:
Chng trnh c chia nh thnh chng trnh con:
Th tc (Procedure)
Hm (Function)
Cc chng trnh con:
c lp vi nhau v c d liu ring
Trao i qua: tham s v bin ton cc

Lp trnh cu trc

c trng: Chng trnh= Cu trc d liu + gii thut.

Cu trc d liu: L cch t chc d liu.


Gii thut: L quy trnh thc hin mt cng vic xc nh.
Gii thut thng phi i km vi mt cu trc d liu xc nh.

Ch :

Mi chng trnh con c th c gi thc hin nhiu ln trong mt


chng trnh chnh.
Cc chng trnh con c th gi n thc hin theo mt th t bt k.

u im:

Chng trnh sng sa d hiu, d theo di.

Nhc im:

Kh s dng li m lnh (v mi cu trc d liu i vi mt gii thut).


Khng ph hp vi cc phn mm ln.
Vn chia chng trnh ln thnh cc chng trnh con nh th no cho
ph hp v hiu qu?

Nhc im ca lp trnh truyn thng

Chng trnh kh kim sot


Kh khn trong vic b sung, nng cp chng trnh
Khi thay i, b sung d liu dng chung th phi thay
i gn nh tt c th tc/hm lin quan
Kh nng s dng li cc on m cha nhiu
Khng m t y , trung thc h thng trong thc t

10

M hnh th gii thc ( real-world)

Trong thc t, chng ta lm vic vi cc i tng nh ngi, xe


tN khng phi l d liu hay cc hm. Mt i tng th gii thc
phc tp bao gm thuc tnh(attributes) v cch hnh x (behavior).
Thuc tnh:
Ngi: Chiu cao, cn nng
Xe t: Mu xe, nm sn xut
Cch hnh x:
L ci m i tng thc hin p ng li tc ng ca cc tc
nhn.
N ging nh cc hm. c triu gi thc hin mt chc nng
g .
i tng khng phi l d liu, hay chc nng n thun m n bao
hm c hai ci trong n.

11

Lp trnh hng i tng

Xut pht t hai hn ch ca lp trnh cu trc:

Lp trnh hng i tng ra i gii quyt cc bi ton ln vi


mc ch:

Khng kim sot c s thay i d liu khi c nhiu chng trnh con
cng thay i mt bin chung.
Khng tit kim c ti nguyn.

ng gi d liu (hn ch truy cp). (Th hin vic tru tng ha, ng
goi vo cc lp)
Cho php s dng li m ngun (Th hin vic k tha).

tng: Kt hp c d liu v cc hm (function) vo cng mt n


v gi l i tng. Trong cc function s thc hin cc thao tc
trn d liu.

12

Lp trnh hng i tng

L phng php lp trnh:


M t chnh xc cc i tng trong th gii
Ly i tng lm nn tng xy dng thut ton
Thit k xoay quanh d liu ca h thng
Chng trnh c chia thnh cc lp i tng
D liu c ng gi, che du v bo v
i tng lm vic vi nhau qua thng bo
Chng trnh c thit kt theo cch t di ln (bottom-up)

13

M hnh hng i tng

14

Lp trnh hng i tng.

Cc b phn: Bn hng, nhn


s, k ton trong mt cng ty.
Cc nhn vin trong cc b
phn thc hin iu khin,
thao tc trn d liu ca b
phn.
Vic chia cng ty thnh cc
b phn gip cho vic hiu v
iu khin hot ng ca
cng ty mt cch d dng hn

15

H thng hng i tng

L h thng c c im sau:
Gm tp hp cc i tng

S ng gi ca 2 thnh phn:

D liu (thuc tnh ca i tng)


Cc thao tc trn d liu

Cc i tng c th k tha cc c tnh ca i tng


khc
Hot ng thng qua s tng tc gia cc i tng nh
c ch truyn thng ip

Thng bo
Gi & nhn thng bo

16

i tng (Object)

L khi nim tru tng phn nh cc thc th trong th gii thc

C th l mt thc th vt l.
C th l mt khi nim tru tng.
Human entities:Employees, Students, Customers, Salespeople.
User-defined data types:Time,Angles,Complex numbers,Points on the plane

c nh ngha l s th hin ca mt lp
Chnh l cc thc th trong h thng c xc nh bi ba yu t:

nh danh i tng: Xc nh duy nht i tng trong h thng.


Trng thi ca i tng:
Hot ng ca i tng:

Mt i tng l s ng gi 2 thnh phn:

Trng thi (state) hay d liu


Cc ng x (behavior) hay hnh vi, thao tc

17

Thuc tnh & phng thc

Thuc tnh bao gm:


Hng, bin
Tham s ni ti

Thuc tnh c xc nh kiu, gm:


Kiu c in
Kiu do ngi dng nh ngha

Phng thc l:
Cc hm ni ti ca i tng
C kiu tr v
Tn gi khc: hm thnh vin

18

Lp (Class)
Lp l mt khi nim, mang tnh tru tng, dng biu din
mt tp cc i tng
VD: Trong bi ton qun l bun bn xe hi, mi chic xe l mt i tng,
khi nim Xe hi l lp i tng ch tt c i tng xe hi.

i tng l mt thhin cthca lp, l mt thc thtn ti


trong hthng.
Lp c dng biu din i tng, cho nn lp cng c
thuc tnh v phng thc:
Thuc tnh ca lp tng ng vi thuc tnh ca cc i tng.
Phng thc ca lp tng ng vi cc hnh ng ca i tng

Ch :

Hoc ch c thuc tnh, khng c phng thc.


Hoc ch c phng thc, khng c thuc tnh.
Hoc c c thuc tnh v phng thc, trng hp ny l ph bin nht.
c bit, lp khng c thuc tnh v phng thc no l cc lp tru tng.
Cc lp ny khng c i tng tng ng

19

Lp v i tng
Lp v i tng, mc d c mi lin htng ng ln nhau,
nhng bn cht li khc nhau:
Lp l stru tng ho ca cc i tng. Trong khi , i
tng l mt thhin calp.
i tng l mt thc thcth, c thc, tn ti trong h
thng. Trong khi , lp l mtkhi nim tru tng, chtn
ti dng khi nim m tcc c tnh chung ca mt
si tng.
Tt ccc i tng thuc vcng mt lp c cng cc thuc
tnh v cc phng thc.
Mt lp l mt nguyn mu ca mt i tng. N xc
nh
cc hnh ng khthi v ccthuc tnh cn thit cho mt
nhm cc i tng cth

20

Tru tng ha

Cc loi tru tng ho:

Tru tng ho d liu:


Tru tng ho i tng theo d liu chnh l qu trnh m hnh ho cc
thuc tnh ca lp da trn cc thuc tnh ca cc i tng tng ng
Loi bt cc thuc tnh c bit, ch gi li cc thuc tnh chung nht.

Tru tng ho chc nng:


Tru tng ho i tng theo chc nng chnh l qu trnh m hnh ho
phng thc ca lp da trn cc hnh ng ca cc i tng.
Loi b cc hnh ng c bit ch gi li cc hnh ng chung nht
hnh thnh cc phng thc chung nht ca lp biu din cho cc i
tng.

Nhng u im ca vic tru tng ha l:


Tp trung vo vn cn quan tm
Xc nh nhng c tnh thit yu v nhng hnh ng cn thit
Gim thiu nhng chi tit khng cn thit

21

Truyn thng ip

Thng ip:

L phng tin i tng ny chuyn yu cu ti i tng khc.

Mt thng ip bao gm:

Handle ca i tng ch (i tng ch)


Tn phng thc cn thc hin
Cc thng tin cn thit khc (tham s)

H thng yu cu i tng thc hin phng thc nh sau:

Gi thng bo v tham s cho i tng


Kim tra tnh hp l ca thng bo
Gi thc hin hm tng ng phng thc

22

S ng gi

Khi nim:
L c ch rng buc d liu v cc thao tc trn d liu
thnh th thng nht.

ng gi gm:
Bao gi: ngi dng giao tip vi h thng qua giao din
Che du: ngn chn cc thao tc khng c php t bn
ngoi

u im:
Qun l s thay i
Bo v d liu

23

S k tha

Khi nim:
Kh nng cho php xy dng lp mi c tha hng
cc thuc tnh ca lp c

c im:
Lp nhn c c th b sung cc thnh phn
Hoc nh ngha l cc thuc tnh ca lp cha

Cc loi k tha:
n k tha
a k tha

24

S a hnh
Cho php cc lp c nh ngha cc phng thc
trng nhau: cng tn, cng s lng v kiu tham s,
cng kiu tr v. Vic nh ngha phng thc trng
nhau ca cc lp k tha nhau cn c gi l s np
chng phng thc.
Khi gi cc phng thc trng tn, da vo i tng
ang gi m chng trnh s thc hin phng thc
ca lp tng ng, v do , s cho cc kt qu khc
nhau
V d: Lp ngi, lp nhn vin, lp sinh vin u c
phng thc Show().

25

Cc bc thit k chng trnh OOP

Bc 1: M t bi ton
Bc 2: c t yu cu
Bc 3: Trch chn i tng
Bc 4: M hnh ho lp i tng
Bc 5: Thit k tng qut

Bc ny s tin hnh thit k v m, ngha l thit


k mi quan h gia cc lp trong h thng

Bc 6: Thit k chi tit


Bc ny s thc hin thit k mc vi m, ngha l
thit k kin trc bn trong ca mi lp i tng

26

u im ca OOP
u im chnh:

Loi b cc on m lp li
To ra cc chng trnh an ton, bo mt
D dng m rng v nng cp
Rt ngn thi gian xy dng h thng
Tng nng sut v hiu qu hn
Chng trnh c thit k theo ng qui
trnh

27

Mt s ngn ng OOP
Ngn ng lp trnh C++
Ngn ng lp trnh ASP.NET v
C#.NET
Ngn ng lp trnh Java

28

Cu hi n tp
Th no l lp trnh phi cu trc?
Th no l lp trnh c cu trc?
Th no l lp trnh hng i tng?
Th no l Lp v i tng?
Cc c tnh ca lp trnh hng i tng?
Tru tng ha l g? im ch ?
Tnh ng gi?
Tnh k tha?
Tnh a hnh?
Cc ngn ng h tr lp trnh hng i tng?

You might also like