lesson 06

22
6.1 LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG C C ++ ++ Đại Học Cần Thơ Khoa Công Nghệ Thông Tin & Truyền Thông Bộ môn Hệ thống máy tính & Truyền Thông CHƯƠNG CHƯƠNG 6 6

Upload: reno-tk

Post on 03-Oct-2015

217 views

Category:

Documents


2 download

DESCRIPTION

C++

TRANSCRIPT

  • LP TRNH HNG I TNG C++i Hc Cn ThKhoa Cng Ngh Thng Tin & Truyn Thng B mn H thng my tnh & Truyn Thng

  • Lp Trnh Hng i Tng(Object-oriented Programming)Mc tiuGii thiu nhng khi nim c bn trong lp trnh hng i tngNi dungTru tng ha, i tng, lpThuc tnh v phng thcThng ip v truyn thng ipTnh bao gi, tnh k tha, tnh a hnhChng 6

  • Khi NimLp trnh hng i tng (OOP- Object-Oriented 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.Qu trnh tin ha ca OOPLp trnh tuyn tnhLp trnh c cu trcS tru tng ha d liuLp trnh hng i tng

  • Ti Sao Tip Cn Hng i Tng?Loi b nhng thiu st ca tip cn theo th tcTrong OOPD liu c xem nh mt phn t chnh yu v c bo vHm gn kt vi d liu, thao tc trn d liuPhn 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

  • c im Quan TrngNhn mnh trn d liu hn l th tcCc chng trnh c chia thnh cc i tngD liu c che giu v khng th c truy xut t cc hm bn ngoiCc i tng c th giao tip vi nhau thng qua cc hmD liu hay cc hm mi c th c thm vo khi cnTheo tip cn t di ln

  • Thun LiSo 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 ttNhng chi tit ci t c nOOP 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.

  • Tru Tng Ha(Abstraction)Tru tng haPhn bit cn thit vi chi titGiao din Ci tCi g Th noPhn tch Thit kCc k thut tru tngng gi (encapsulation)n thng tin (information hiding)Tha k (inheritance)a hnh (polymorphism)

  • i Tng (Object)i tng l cha kha hiu c k thut hng i tngTrong h thng hng i tng, mi th u l i tngVit mt chng trnh hng i tng ngha l ang xy dng mt m hnh ca mt vi b phn trong th gii thc

  • 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)

  • i Tng Phn Mm(Software Object)Cc i tng phn mm c th c dng biu din cc i tng th gii thc.Cng c trng thi v hnh ngTrng thi: thuc tnh (attribute; property) Hnh ng: phng thc (method)

  • i Tngi tng (object) l mt thc th phn mm bao bc cc thuc tnh v cc phng thc lin quan.i tng phn mmi tng phn mm Xe pThuc 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.

  • 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

  • Lp L G?Mt lp l mt thit k (blueprint) hay mu (prototype) cho cc i tng cng kiuV 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 XeDapMi th hin c th c nhng thuc tnh th hin khc nhauV d: mt xe p c th ang bnh rng th 5 trong khi mt xe khc c th l ang bnh rng th 3.

  • V D Lp Xe pKhai bo cho lp XeDapi tng ca lp XeDap

  • Thuc Tnh Lp & Phng Thc Lp

  • Thuc Tnh Lp & Phng Thc LpThuc 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.

  • Thuc Tnh& Phng ThcThuc 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).

  • Thng ip & Truyn Thng ipThng ip (message) l mt li yu cu mt hot ng. Gm c:i tng nhn thng ipTn ca phng thc thc hinCc tham s m phng thc cnTruyn thng ip: mt i tng triu gi mt hay nhiu phng thc ca i tng khc yu cu thng tin.

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

  • 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 khcVic che giu nhng chi tit thit k v ci t t nhng i tng khc c gi l n thng tin

  • 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.

  • Tnh a Hnh(Polymorphism) 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