Professional Documents
Culture Documents
Cc c tnh ca phn mm Cc phng php lp trnh Tru tng ha d liu Lp trnh hng i tng Mt s khi nim trong lp trnh OOP: Tnh ng gi Tnh k tha Tnh a hnh
1
Nguyn Mnh Hng
Cc c tnh ca phn mm
Kch thc ngy cng ln Ngi dng ngy cng i hi nhiu chc nng, c bit l chc nng thng minh ca phn mm Phn mm lun cn c sa i, nng cp.
2
Nguyn Mnh Hng
3
Nguyn Mnh Hng
Yu cu i vi m ngun
c th d dng s dng li th m ngun phi tha mn cc yu cu sau: D hiu Chnh xc C giao din r rng Khng yu cu thay i khi s dng trong chng trnh mi
4
Nguyn Mnh Hng
5
Nguyn Mnh Hng
Vo cui cc nm trong 1960 v 1970, mt s ngn ng lp trnh c cu trc ra i. V bn cht, chng trnh khi c chia nh thnh cc chng trnh con (cn gi l hm hay th tc) thc hin cc cng vic nh trong qu trnh ln hn, phc tp hn. Mt khi nim ln c a ra trong lp trnh c cu trc l s tru tng ha theo chc nng (Functional Abstraction). S tru tng ha chnh l quan st mt s vic m khng cn xem xt n cc chi tit bn trong ca n. Trong mt chng trnh c cu trc, chng ta ch cn bit mt hm cho c th thc hin c mt cng g vic c th m khng cn quan tm n hm thc hin cng vic nh th no. iu ny gi l s tru tng ha theo chc nng (Functional abstraction) v l nn tng ca lp trnh c 7 cu trc.
Nguyn Mnh Hng
Structured/procedural programming
Start by writing the main program Use selective and iterative control structures Call procedures P1, ...,Pn Implement P1, ... Pn.
8
Nguyn Mnh Hng
9
Nguyn Mnh Hng
10
Nguyn Mnh Hng
11
Nguyn Mnh Hng
V d: vn v tnh ng n ca d liu
struct MyDate { public int year, month, day; } MyDate d; d.day = 32; // invalid day d.day = 31; d.month = 2; // how to check d.day = d.day + 1; //
13
Nguyn Mnh Hng
Gii php
Bng cch: Che du d liu (che du cu trc) Truy cp d liu thng qua thuc tnh => Ta c th gii quyt c tnh ng n ca d liu v m bo c s c lp i vi cu trc class MyDate { private int year, mon, day; public int GetDay() {...} public boolean SetDay(int) {...} ... }
14
Nguyn Mnh Hng
Gii php
MyDate d = new MyDate(); ... d.day = 32; // compile error khng truy cp c d.SetDay(31);//Ktra d liu c thc hin trong SetDay d.SetMonth(2); // should return False Vi cch dng cc thuc tnh truy cp n cc trng d liu ca cu trc, ta c th kim tra c tnh ng n ca d liu khi gn v m bo tnh c lp vi cu trc ca cc chng trnh dn xut.
15
Nguyn Mnh Hng
16
Nguyn Mnh Hng
Lp trnh OOP
Khi nim hng i tng c xy dng trn nn tng ca khi nim lp trnh c cu trc v s tru tng ha d liu. S thay i cn bn th hin ch, mt chng trnh hng i tng c thit k xoay quanh d liu m chng ta c th lm vic trn , hn l theo bn thn chc nng ca chng trnh. Lp trnh hng i tng lin kt cu trc d liu vi cc thao tc trn n theo cch m chng ta thng ngh v th gii xung quanh mnh.
17
Nguyn Mnh Hng
Lp trnh OOP
V d: Chng ta bit rng mt chic xe c cc bnh xe, di chuyn c v c th i hng ca n bng cch quo tay li. Tng t nh th, mt ci cy l mt loi thc vt c thn g v l. Trong lp trnh i tng: xe hi, cy ci, ng vt, c gi l cc lp (Class).
18
Nguyn Mnh Hng
Lp trnh OOP
Mt lp l mt bn mu m t cc thng tin v loi i tng v cc thao tc hp l ca loi i tng . Ni cch khc, Lp (class) l s kt hp gia cc thuc tnh (trng thi ca i tng) v cc phng thc (hnh vi ca i tng). Khi mt bin c khai bo thuc kiu ca mt lp th n c gi l mt i tng (Object) ca lp . Cc hm c nh ngha trong mt lp c gi l cc phng thc (Method) .
Mt thc th (Instance) l mt vt th c thc bn trong b nh, thc cht l mt i tng c cp pht vng nh.
19
Nguyn Mnh Hng
20
Nguyn Mnh Hng
Tnh ng gi (Encapsulation)
S ng gi l c ch rng buc d liu v thao tc trn d liu thnh mt th thng nht, trnh c cc tc ng bt ng t bn ngoi. Th thng nht ny gi l i tng.
Trong mt i tng, d liu hay thao tc hay c hai c th l ring (private) hoc chung (public) ca i tng .
C ch ng gi l phng thc tt thc hin c ch che du thng tin so vi cc ngn ng lp trnh cu trc. Che du thng tin: thao tc vi d liu thng qua cc giao din xc nh (thuc tnh)
21
Nguyn Mnh Hng
22
Nguyn Mnh Hng
23
Nguyn Mnh Hng
24
Nguyn Mnh Hng
Cc u im ca lp trnh HT
Tng nng sut lp trnh (nng sut pht trin) Nng cao cht lng phn mm Tng tnh hiu c ca phn mm Tng vng i ca phn mm
25
Nguyn Mnh Hng
26
Nguyn Mnh Hng