Professional Documents
Culture Documents
NI DUNG
I II
S lc v cc khi nim trong hng i tng Lp (class ) Lp c th c hiu l khun mu cho php xc nh tp cc tnh cht ca i tng, cha cc thuc tnh v cc phng thc. Trong mt lp, ngi ta thng dng cc bin m t cc gi tr xc nh trng thi ca i tng v cc hm m t cc phng thc ca i tng
Trong c s d liu hng i tng, cc i tng c th c mt cu trc i tng phc tp ty cha tt c cc thng tin cn thit m cc i tng m t. Ngc li, trong cc h thng c s d liu truyn thng, thng tin v mt i tng phc tp thng c ri rc trn nhiu mi quan h, dn n mt s tng ng trc tip gia mt i tng ca th gii thc v c s d liu i din ca n.
Cu trc ca i tng
Mi i tng c 2 thnh phn chnh :
Gi tr Phng thc
Mt i tng c biu din qua (i, c, v) i l gi tr OID ca i tng (Object Identifier) c l loi khi to ca i tng (Type Constructor) v l gi tr ca i tng (Value) VD: O1 = (i1, atom, Xin cho)
Cu trc ca i tng
Cc loi khi to i tng: Loi c bn: atom Loi b (tuple type): tuple Loi tp hp (collection type) : set, list, bag, array
Cu trc ca i tng
Loi c bn: atom i tng c gi tr nguyn t VD: O1 = (i1, atom, Xin cho) Loi tp hp (collection type): set, list, bag, array i tng c gi tr l mt chui OID VD: O2 = (i2, set, {i1, i3}) Loi b (tuple type): tuple gi tr ca i tng gm cc thuc tnh c xc nh vi gi tr OID theo sau VD: O3 = (i3, tuple, <MSSV: i6, HOTEN: i7>)
Cu trc ca i tng
Kt lun: Gi tr ca mt i tng da trn dng khi to
C atom tuple set bag list array [i1, i2,, in] {i1, i2, , in} v gi tr nguyn t <a1 : i1, a2 : i2, an: in>
Cu trc ca i tng
VD: O2 = (i2, atom, Phan Hong M Dung) O3 = (i3, atom, Phm Th n ) O4 = (i4, atom, 2009 - 2013) O5 = (i5, atom, TH-2009) O6 = (i6, atom, 0912023) O7 = (i7, atom, 0912056) O8 = (i8, set, {i2, i3}) O9 = (i9, set, {i6, i7}) O10 = (i10, tuple, <MSSV: i9, HOTEN: i8>) O11 = (i11, tuple, <MALOP: i5, NIENKHOA: i4>) O12 = (i12, tuple,<LOP: i11, SINHVIEN: i10>)
Cu trc ca i tng
So snh gi tr gia 2 i tng: Bng nhau: c gi tr nguyn t bng nhau Trng nhau: c gi tr nguyn t bng nhau v OID phn gi tr (nu c) trng nhau VD: O1 = (i1, tuple, <a1: i4, a2: i6>) O2 = (i2, tuple, <a1: i5, a2: i6>) O3 = (i3, tuple. <a1: i4, a2: i6>) O4 = (i4, atom, 10) O5 = (i5, atom, 10) O6 = (i6, atom, 20) O1 v O2 c gi tr bng nhau nhng khng trng nhau O1 v O3 c gi tr trng nhau Lu : O4 v O5 c gi tr trng nhau nhng l hai i tng ring bit
Tm tt
i tng c biu din qua (i, c, v) OID Cc loi khi to i tng
NI DUNG
I II
I. Encapsulation
I - 1. Gii thiu
S ng gi (encapsulation) : s giao tip ca i tng v thnh phn bn ngoi ch thng qua cc phng thc (method) m i tng cung cp.
ng dng/ngi s dng
I - 2. Khi nim
PHNG THC
Khai bo phng thc Ci t phng thc Interface or Signature
Method or Body
Li gi hm
Message
I - 2. Khi nim
object constructor object destructor object modifier Khi to mt i tng mi Hy mt i tng
Sa i 1 hoc nhiu thuc tnh ca i tng
Dot notation
I - 2. Khi nim
d.create_emp
Interface
d.salary
Visible Attributes
c truy xut trc tip t bn ngoi
Hidden Attributes
Ch cc phng thc khai bo trong lp mi c s dng
C1 D1
METHOD
C2 D2
OQL
ng dng/ngi dng
NI DUNG
I II
MT HNG
C s d liu quan h
C_CT_N T HNG
C_MT_HNG
A B C
Phn mm ng dng
A B C
C s d liu hng i tng Gi km yu cu lu tr lu di C_N_T_H NG C_CT_N T HNG C_MT_HNG
A B C
Phn mm ng dng
A B C
C s d liu hng i tng Khng c nhu cu lu tr lu di C_N_T_H NG C_CT_N T HNG C_MT_HNG
A B C
Phn mm ng dng
II - Persistent Objects
Persistent Objects
Naming (c t tn)
Class B Persistent
Class B
Class B
Cc phng thc s dng chung cho tt c cc loi i tng nh select, insert, delete, modify chung v dng cho bt k mi quan h no trong CSDL.
Khng phi tt c i tng u xem nh l persistent, v n c xem xt lu trc tip xung h thng.
I
II
III
Nhn xt
1. S phn cp v k tha
Tha k l c ch cho php mt lp c p dng cc tnh cht ca lp cha ca n, phn nh mt c trng vn c trong quan h gia cc i tng thc t.
.
1. S phn cp v k tha
C ch k tha l mt u im ln ca m hnh hng i tng, bi khng ch phn nh bn cht ca cc quan h thc t m cn cho php ti u d liu v ti s dng m khi xy dng h thng V th i hi OO Database cung cp Kh nng phn loi lp i tng H tr kiu d liu mi c nh ngha da trn kiu d liu c trc
1. S phn cp v k tha
Type
name
Thuc
tnh
Phng
thc
1. S phn cp v k tha theo kiu i tng C php n gin khai bo mt kiu i tng l khai bo tn v lit k cc public function.
TYPE_NAME: function, function, , function
1. S phn cp v k tha
Supertype
B A
Subtype
B C
Person
Major GPA
Student Employee
1. S phn cp v k tha theo kiu i tng C th khai bo li cho Student v Employee nh sau:
EMPLOYEE subtype-of PERSON: Salary, HireDate, Seniority STUDENT subtype-of PERSON: Major, GPA
1. S phn cp v k tha
xt thm mt v d na, c khai bo kiu i tng sau:
Xem
RECTANGLE subtype-of GEOMETRY_OBJECT: Width, Height TRIANGLE subtype-of GEOMETRY_OBJECT: Side1, Side2, Angle CIRCLE subtype-of GEOMETRY_OBJECT: Radius
1. S phn cp v k tha
Ta thy, RECTANGLE, TRIANGLE v CIRCLE u l kiu con ca GEOMETRY_OBJECT ngha l u k tha tt c cc hm ca GEOMETRY_OBJECT: Shape, Area, ReferencePoint. Tuy nhin , cc hm m n k tha ca GEOMETRY_OBJECT khng phi u c cng ngha trong tng kiu con : Hm Shape: mi kiu d liu con u c mt hnh dng khc nhau Hm Area: i vi mi kiu con khc nhau, cn c phng thc tnh ton din tch khc nhau. Hm ReferencePoint : c ngha khc nhau i vi tng kiu con: N c th l tm im i vi RECTANGLE v CIRCLE ; tuy nhin, cng c th hiu l nh trong TRIANGLE Lm sao khc phc s hiu sai ng ngha ny ?
1. S phn cp v k tha
Gii
php: RECTANGLE subtype-of GEOMETRY (Shape = rectangle): Width, Height TRIANGLE subtype-of GEOMETRY (Shape = triangle): Side1, Side2, Angle CIRCLE subtype-of GEOMETRY (Shape = circle): Radius
1. S phn cp v k tha
Khi nh ngha mt kiu i tng l chng ta ch m t cho i tng thuc kiu , ch khng phi pht sinh i tng c th. Trong cc ng dng s dng csdl, cc i tng mi c pht sinh. Mi i tng s thuc mt kiu i tng c nh ngha trc (ging nh kiu d liu v bin d liu c s dng thuc kiu no).
I
II
III
Nhn xt
Extent: tp hp cc i tng thng c cng kiu hoc cng lp i tng. Tuy nhin vn c nhng ngn ng cho php mt extent cha cc i tng thuc nhng kiu khc nhau (SMALLTALK). y chng ta s xem xt trn khi nim mt extent cha cc i tng cng kiu (type).
Cc i tng ca lp con cng c xem l i tng ca lp cha. Mt vi h thng CSDL HT c nh ngha sn kiu i tng h thng (gi l root class hay l object class) v extent ca n cha ton b cc object ca h thng. Tt c cc lp ngoi dng t nh ngha c xem nh l con ca lp Object (h thng).
Transient collection
Terminated
Lp i tng Tp thc th (entity Quan h (relation) (Class) set) Thuc tnh (attribute) Thuc tnh Thuc tnh (attribute) OID Method Kha chnh (Primary Kha chnh key) no no
Phn cp
Mi kt hp
Relationship
Ngun: Internet
So snh gia m hnh HT v m hnh thc th kt hp ER M hnh quan h v m hnh ER i khi khng m t c y v mt i tng. Khng th hin c cc phng thc trong cu trc. CSDL HT khc phc c cc hn ch ny.
Tuy nhin vic ng dng m hnh CSDL HT cn nhiu hn ch v cha c p dng nhiu. Ngi ta la chn cch s dng kt hp, trn tng ng dng s dng NNLT HT v bn di CSDL vn lu dui dng cc quan h pht sinh vn l mapping gia i tng v quan h.
Ngun: Internet
Operator
Cho php ton t cng tn hay cng biu tng c th c 2 hay nhiu thc thi khc nhau, ty thuc vo kiu i tng m n thc thi. Trnh bin dch t xc nh ton t cn thit no c thc thi da trn loi ton hng m ta cung cp.
Operator
Ton t k hiu + c th mang nhiu ngha khc nhau khi ta cung cp cho n nhiu mu thc thi khc nhau (kiu ton hng khc nhau). Kiu s nguyn th cng theo kiu s nguyn. Kiu s thc th cng theo kiu s thc.
Trong thc t, k tha chn lc khng c dng rng ri trong cc h thng d liu hng i tng, nhng c s dng rt nhiu trong cc ng dng tr tu nhn to.
Phin bn v Cu hnh:
Nhiu ng dng CSDL s dng h thng hng i tng yu cu s tn ti nhiu phin bn ca cng mt i tng (t hai phin bn tr ln).
Nu h thng ang hot ng v 1 hay nhiu module cn c thay i, ngi thit k s to mt phin bn mi ca cc module cp nht cc s thay i.
Phin bn v Cu hnh:
S phin bn (version graph): biu din cc mi quan h gia cc phin bn. Li ch: gip ngi dng hiu mi quan h gia cc phin bn v gip h thng qun l tt trong vic to mi v xa cc phin bn.
V d
Phin bn v Cu hnh: Cu hnh: l tp hp bao gm mt phin bn ca mi module c sp xp theo cch ring, cc phin bn module trong cu hnh tng thch vi nhau cng nhau to thnh mt phin bn hp l ca cc i tng phc tp.