Professional Documents
Culture Documents
C# and .NET - Lession 2
C# and .NET - Lession 2
NET Framework
Bi 2: Hng i tng trong
C#
on Quang Minh
minhdqtt@gmail.com
http://www.VTPortal.net
Last update: 30. December 2006
H
Hng
i t
tng trong C# - Editor:
Editor:
o
on Quang Minh
Mc lc
K tha, hm o
Qu ti hm
Hm to, hm hy
Cu trc
Qu ti ton t
Ch s
Giao tip
H
Hng
i t
tng trong C# - Editor:
Editor:
o
on Quang Minh
Khng h tr a k tha
Khng h tr phm k tha (gim phc tp)
Bt buc phi k tha: lp System.Object
Qu ti hm: c php
Khng h tr tham s mc nh
Hm o: t kha virtual v override
Hm b che
L do ra i: cng tn hm nhng khc ngha
T kha new
H
Hng
i t
tng trong C# - Editor:
Editor:
o
on Quang Minh
Lp c ng kn
Khi nim
T kha sealed
Phm vi truy cp
public, protected, private
internal, protected internal
Lp cc b
L lp m m lnh ca n c t nhiu ni.
T kha partial
H
Hng
i t
tng trong C# - Editor:
Editor:
o
on Quang Minh
Lp Object
L lp c bn ca .NET, mc nh mi lp nu
khng ni g th hiu l k tha t Object
Cc phng thc ca Object
Khai bo:
[attributes] [modifiers] interface identifier [:base-list]
{interface-body}[;]
H
Hng
i t
tng trong C# - Editor:
Editor:
o
on Quang Minh
H
Hng
i t
tng trong C# - Editor:
Editor:
o
on Quang Minh
Hm to v hm hy
(Construction and Disposal)
Hm to (Construction)
nh ngha v c php: nh C++
Khc bit vi C++: khng nn khi to bin thnh vin trong
hm to.
Ch vi hm to c tham s: hy lun lun c hm to mc
nh trnh li bin dch.
Hm to tnh
L hm to, ng thi l hm tnh.
c gi khi s dng phng thc tnh ca i tng.
Gi hm to khi k tha
Thng qua t kho base.
C th truyn tham s cho lp base.
H
Hng
i t
tng trong C# - Editor:
Editor:
o
on Quang Minh
10
Hm to v hm hy
(Construction and Disposal)
Hm hy (Disposal)
Khng quan trng nh C++, do b nh t
ng c qun l bi b thu gom rc.
Nu c nh ngha, hm hy s c gi bi
b thu gom rc, nhng khng xc nh c
thi im gi.
C th s dng giao tip IDisposable.
Hay dng khi gii phng cc ti nguyn khc
b nh (kt ni CSDL, tp tin,)
H
Hng
i t
tng trong C# - Editor:
Editor:
o
on Quang Minh
11
Cu trc (Structs)
Cu trc (struct)
Ch cha cc bin, khng cha phng thc
Khai bo v s dng cu trc: c th dng hoc
khng dng ton t new
struct v k tha
struct khng th k tha c.
Ngoi l: mt struct coi nh c k tha t lp
Object
Khi to struct
Khng th khi to cc bin thnh vin khi khai bo
C th c hm to
H
Hng
i t
tng trong C# - Editor:
Editor:
o
on Quang Minh
12
Qu ti ton t
(Operator Overloading)
nh ngha: nh C++
C php
V d
H
Hng
i t
tng trong C# - Editor:
Editor:
o
on Quang Minh
13
Ch mc
(Indexers)
M t:
Ton t [ ] trong C# khng th qu ti c.
Ch mc l cch lm ging nh vic qu ti ton t [ ]
trong C++, gip cho vic truy cp vo mt class hoc
mt struct ging nh truy cp vo mt array.
Ging nh thuc tnh, ch mc cng gm cp phng
thc get v set.
14
Ch mc
(Indexers)
V d:
Gi s c lp Matrix (ma trn).
Khi dng 2 ch s truy cp, v d, a[i][j] s nhn c
mt thnh phn s. Nu dng 1 ch s truy cp, v d,
a[i] s nhn c mt vector
struct Matrix
{
public double[][] x;
public double this [uint i, uint j];
public Vector this [uint i];
}
H
Hng
i t
tng trong C# - Editor:
Editor:
o
on Quang Minh
15
16