Download as pdf or txt
Download as pdf or txt
You are on page 1of 21

Lp Trnh Hng i Tng (Object-oriented Programming)

Mc tiu
Gii

thiu nhng khi nim c bn trong lp trnh hng i tng

Ni dung
Tru

tng ha, i tng, lp Thuc tnh v phng thc Thng ip v truyn thng ip Tnh bao gi, tnh k tha, tnh a hnh
6.1

Khi Nim

Lp trnh hng i tng (OOP- ObjectOriented Programming)


mt cch t duy mi, tip cn hng i tng gii quyt vn bng my tnh. mt phng php thit k v pht trin phn mm da trn kin trc lp v i tng. Lp trnh tuyn tnh Lp trnh c cu trc S tru tng ha d liu Lp trnh hng i tng
6.2

Qu trnh tin ha ca OOP


1. 2. 3. 4.

Ti Sao Tip Cn Hng i Tng?


Loi b nhng thiu st ca tip cn theo th t c Trong OOP


D

liu c xem nh mt phn t chnh yu v c bo v Hm gn kt vi d liu, thao tc trn d liu Phn tch bi ton thnh nhiu thc th (i tng) xy dng d liu + hm cho cc i tng ny.

Tng cng kh nng s dng li


6.3

c im Quan Trng
Nhn mnh trn d liu hn l th tc Cc chng trnh c chia thnh cc i tng D liu c che giu v khng th c truy xut t cc hm bn ngoi Cc i tng c th giao tip vi nhau thng qua cc hm D liu hay cc hm mi c th c thm vo khi cn Theo tip cn t di ln

6.4

Thun Li

So vi cc tip cn c in th OOP c nhng thun li sau:


OOP

cung cp mt cu trc module r rng

Giao din c nh ngha tt Nhng chi tit ci t c n OOP gip lp trnh vin duy tr m v sa i m tn ti d dng (cc i tng c to ra vi nhng khc nhau nh so vi nhng i tng tn ti). OOP cung cp mt framework tt vi cc th vin m m cc thnh phn c th c chn v sa i bi lp trnh vin.
6.5

Tru Tng Ha (Abstraction)


Tru tng ha
Phn

bit cn thit vi chi tit

Giao din Ci t Ci g Th no Phn tch Thit k

Cc k thut tru tng


ng

gi (encapsulation) n thng tin (information hiding) Tha k (inheritance) a hnh (polymorphism)


6.6

i Tng (Object)
i tng l cha kha hiu c k thut hng i tng Trong h thng hng i tng, mi th u l i tng

Vit mt chng trnh hng i tng ngha l ang xy dng mt m hnh ca mt vi b phn trong th gii thc
6.7

i Tng Th Gii Thc (Real Object)


Mt i tng th gii thc l mt thc th c th m thng thng bn c th s, nhn thy hay cm nhn c. Tt c c trng thi (state) v hnh ng (behaviour)
6.8

Cc i tng phn mm c th c dng biu din cc i tng th gii thc. Cng c trng thi v hnh ng
Trng

i Tng Phn Mm (Software Object)

thi: thuc tnh (attribute; property) Hnh ng: phng thc (method)
6.9

i Tng

i tng phn mm

i tng phn mm Xe p

i tng (object) l mt thc th phn mm bao bc cc thuc tnh v cc phng thc lin quan.

Thuc tnh c xc nh bi gi tr c th gi l thuc tnh th hin. Mt i tng c th c gi l mt th hin.


6.10

Lp (Class)

Trong th gii thc c nhiu i tng cng loi. Chng trnh hng i tng c nhiu i tng cng loi chia s nhng c im chung. V d

6.11

Lp L G?

Mt lp l mt thit k (blueprint) hay mu (prototype) cho cc i tng cng kiu


V d: lp XeDap l mt thit k chung cho nhiu i tng xe p c to ra

Lp nh ngha cc thuc tnh v cc phng thc chung cho tt c cc i tng ca cng mt loi no Mt i tng l mt th hin c th ca mt lp.

V d: mi i tng xe p l mt th hin ca lp XeDap

Mi th hin c th c nhng thuc tnh th hin khc nhau


V d: mt xe p c th ang bnh rng th 5 trong khi mt xe khc c th l ang bnh rng th 3.


6.12

V D Lp Xe p
Khai bo cho lp XeDap i tng ca lp XeDap

6.13

Thuc Tnh Lp & Phng Thc Lp

6.14

Thuc Tnh Lp & Phng Thc Lp


Thuc

tnh lp (class attribute) l mt hng mc d liu lin kt vi mt lp c th m khng lin kt vi cc th hin ca lp. N c nh ngha bn trong nh ngha lp v c chia s bi tt c cc th hin ca lp. Phng thc lp (class method) l mt phng thc c triu gi m khng tham kho ti bt k mt i tng no. Tt c cc phng thc lp nh hng n ton b lp ch khng nh hng n mt lp ring r no.
6.15

Thuc Tnh & Phng Thc


Thuc tnh (attribute) l d liu trnh by cc c im v mt i tng. Phng thc (method) c lin quan ti nhng th m i tng c th lm. Mt phng thc p ng mt chc nng tc ng ln d liu ca i tng (thuc tnh).

6.16

Thng ip & Truyn Thng ip


Thng ip (message) l mt li yu cu mt hot ng. Gm c:


i

tng nhn thng ip Tn ca phng thc thc hin Cc tham s m phng thc cn

Truyn thng ip: mt i tng triu gi mt hay nhiu phng thc ca i tng khc yu cu thng tin.
6.17

Tnh Bao Gi (Encapsulation)


ng gi (encapsulation) l tin trnh che giu vic thc thi chi tit ca mt i tng.

6.18

n Thng Tin (Information Hiding)


ng gi Thuc tnh c lu tr hay phng thc c ci t nh th no c che giu i t cc i tng khc


Vic che giu nhng chi tit thit k v ci t t nhng i tng khc c gi l n thng tin

6.19

Tnh Tha K (Inheritance)


H thng hng i tng cho php cc lp c nh ngha k tha t cc lp khc


V

d, lp xe p leo ni v xe p ua l nhng lp con (subclass) ca lp xe p.

Tha k ngha l cc phng thc v cc thuc tnh c nh ngha trong mt lp c th c tha k hoc c s dng li bi lp khc.
6.20

a hnh: nhiu hnh thc, hnh ng cng tn c th c thc hin khc nhau i vi cc i tng/cc lp khc nhau. Ng cnh khc kt qu khc

i m ng Thng Hnh Trn Hnh Vung

Tnh a Hnh (Polymorphism)

6.21

You might also like