Tải bản đầy đủ (.pdf) (16 trang)

Ngôn ngữ lập trình: C# và .NET phần 2 docx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (196.25 KB, 16 trang )





ng đ
ng đ


i tư
i tư


ng trong C#
ng trong C#
-
-
Editor
Editor
:
:
Đo
Đo
à
à
n Quang Minh
n Quang Minh
1
1
C# and .NET Framework
C# and .NET Framework
B


B
à
à
i 2:
i 2:




ng
ng
đ
đ


i
i




ng
ng
trong
trong
C#
C#
Đo
Đo
à

à
n Quang Minh
n Quang Minh


http
http
://www.VTPortal.net
://www.VTPortal.net
Last update:
Last update:
30. December 2006
30. December 2006




ng đ
ng đ


i tư
i tư


ng trong C#
ng trong C#
-
-
Editor

Editor
:
:
Đo
Đo
à
à
n Quang Minh
n Quang Minh
2
2
M
M


c l
c l


c
c
K
K
ế
ế
th
th


a

a
,
,
h
h
à
à
m
m


o
o
Qu
Qu
á
á
t
t


i
i
h
h
à
à
m
m
H

H
à
à
m
m
t
t


o
o
,
,
h
h
à
à
m
m
h
h


y
y
C
C


u

u
tr
tr
ú
ú
c
c
Qu
Qu
á
á
t
t


i
i
to
to
á
á
n
n
t
t


Ch
Ch



s
s


Giao
Giao
ti
ti
ế
ế
p
p




ng đ
ng đ


i tư
i tư


ng trong C#
ng trong C#
-
-
Editor

Editor
:
:
Đo
Đo
à
à
n Quang Minh
n Quang Minh
3
3
L
L


p
p
v
v
à
à
k
k
ế
ế
th
th


a

a
(class & inherit)
(class & inherit)
Đ
Đ


nh ngh
nh ngh
ĩ
ĩ
a m
a m


t l
t l


p: t
p: t


kh
kh
ó
ó
a class
a class
K

K
ế
ế
th
th


a đơn gi
a đơn gi


n: c
n: c
ú
ú
ph
ph
á
á
p.
p.


Không h
Không h


tr
tr



đa k
đa k
ế
ế
th
th


a
a


Không h
Không h


tr
tr


ph
ph


m k
m k
ế
ế
th

th


a (gi
a (gi


m ph
m ph


c t
c t


p)
p)


B
B


t bu
t bu


c ph
c ph



i k
i k
ế
ế
th
th


a: l
a: l


p System.Object
p System.Object
Qu
Qu
á
á
t
t


i h
i h
à
à
m: c
m: c
ú

ú
ph
ph
á
á
p
p


Không h
Không h


tr
tr


tham s
tham s


m
m


c đ
c đ


nh

nh


H
H
à
à
m
m


o: t
o: t


kh
kh
ó
ó
a virtual v
a virtual v
à
à
override
override
H
H
à
à
m b

m b


che
che


Lý do ra đ
Lý do ra đ


i: c
i: c
ù
ù
ng tên h
ng tên h
à
à
m nhưng kh
m nhưng kh
á
á
c ý ngh
c ý ngh
ĩ
ĩ
a
a



T
T


kh
kh
ó
ó
a new
a new




ng đ
ng đ


i tư
i tư


ng trong C#
ng trong C#
-
-
Editor
Editor
:

:
Đo
Đo
à
à
n Quang Minh
n Quang Minh
4
4
L
L


p
p
v
v
à
à
k
k
ế
ế
th
th


a
a
(class & inherit)

(class & inherit)
H
H
à
à
m
m
tr
tr


u
u




ng
ng
,
,
l
l


p
p
tr
tr



u
u




ng
ng


T
T


kh
kh
ó
ó
a
a
abstract
abstract


Kh
Kh
á
á
c

c
bi
bi


t
t
v
v


i
i
C++
C++
L
L


p
p
đư
đư


c
c
đ
đ
ó

ó
ng
ng
k
k
í
í
n
n


Kh
Kh
á
á
i
i
ni
ni


m
m


T
T


kh

kh
ó
ó
a
a
sealed
sealed
Ph
Ph


m
m
vi
vi
truy
truy
c
c


p
p


public, protected, private
public, protected, private


internal, protected internal

internal, protected internal
L
L


p
p
c
c


c
c
b
b




L
L
à
à
l
l


p
p
m

m
à
à


l
l


nh
nh
c
c


a
a
n
n
ó
ó
đư
đư


c
c
đ
đ



t
t


nhi
nhi


u
u
nơi
nơi
.
.


T
T


kh
kh
ó
ó
a
a
partial
partial





ng đ
ng đ


i tư
i tư


ng trong C#
ng trong C#
-
-
Editor
Editor
:
:
Đo
Đo
à
à
n Quang Minh
n Quang Minh
5
5
Thu
Thu



c
c
t
t
í
í
nh
nh
(property)
(property)
Thu
Thu


c
c
t
t
í
í
nh
nh


L
L
à
à
m

m


t
t
phương
phương
th
th


c
c
ho
ho


c
c
m
m


t
t
c
c


p

p
phương
phương
th
th


c
c
,
,
m
m
à
à
th
th


hi
hi


n
n
c
c


a

a
n
n
ó
ó
như
như
l
l
à
à
m
m


t
t
trư
trư


ng
ng
d
d


li
li



u
u


C
C


p
p
t
t


kh
kh
ó
ó
a
a
get / set
get / set


Thu
Thu


c

c
t
t
í
í
nh
nh
ch
ch


đ
đ


c
c
,
,
ch
ch


ghi
ghi


Ph
Ph



m
m
vi
vi
truy
truy
c
c


p
p
:
:
thu
thu


c
c
t
t
í
í
nh
nh
get
get
v

v
à
à
set
set
luôn
luôn
c
c
ó
ó
c
c
ù
ù
ng
ng
ph
ph


m
m
vi
vi
truy
truy
c
c



p
p
.
.


Thu
Thu


c
c
t
t
í
í
nh
nh
tr
tr


u
u




ng

ng
:
:
ch
ch


khai
khai
b
b
á
á
o
o
t
t


kho
kho
á
á
m
m
à
à
không
không
c

c
ó
ó
thân
thân
h
h
à
à
m
m
, do
, do
đ
đ
ó
ó
l
l


p
p
k
k
ế
ế
th
th



a
a
b
b


t
t
bu
bu


c
c
ph
ph


i
i
ghi
ghi
đ
đ
è
è


Thu

Thu


c
c
t
t
í
í
nh
nh


o
o
:
:
cho
cho
ph
ph
é
é
p
p
l
l


p

p
k
k
ế
ế
th
th


a
a
ghi
ghi
đ
đ
è
è
.
.




ng đ
ng đ


i tư
i tư



ng trong C#
ng trong C#
-
-
Editor
Editor
:
:
Đo
Đo
à
à
n Quang Minh
n Quang Minh
6
6
L
L


p
p
Object
Object
L
L
à
à
l

l


p
p


b
b


n
n
c
c


a
a
.NET,
.NET,
m
m


c
c
đ
đ



nh
nh
m
m


i
i
l
l


p
p
n
n
ế
ế
u
u
không
không
n
n
ó
ó
i
i
g

g
ì
ì
th
th
ì
ì
hi
hi


u
u
l
l
à
à
k
k
ế
ế
th
th


a
a
t
t



Object
Object
C
C
á
á
c
c
phương
phương
th
th


c
c
c
c


a
a
Object
Object


public
public
virutal

virutal
string
string
ToString
ToString
()
()


public
public
virutal
virutal
int
int
GetHashTable
GetHashTable
()
()


public
public
virutal
virutal
bool
bool
Equals(object
Equals(object
obj

obj
)
)


public static
public static
bool
bool
Equals(object
Equals(object
objA
objA
, object
, object
objB
objB
)
)


public static
public static
bool
bool
ReferenceEquals(object
ReferenceEquals(object
objA
objA
, object

, object
objB
objB
)
)


public Type
public Type
GetType
GetType
()
()


protected object
protected object
MemberwiseClone
MemberwiseClone
()
()


protected virtual void Finalize()
protected virtual void Finalize()




ng đ

ng đ


i tư
i tư


ng trong C#
ng trong C#
-
-
Editor
Editor
:
:
Đo
Đo
à
à
n Quang Minh
n Quang Minh
7
7
Giao
Giao
ti
ti
ế
ế
p

p
(interface)
(interface)
interface:
interface:


M
M


t
t
interface
interface
đ
đ


nh
nh
ngh
ngh
ĩ
ĩ
a
a
như
như
m

m


t
t


h
h


p
p
đ
đ


ng
ng


, do
, do
đ
đ
ó
ó
,
,
n

n
ế
ế
u
u
m
m


t
t
class
class
ho
ho


c
c
m
m


t
t
struct
struct
c
c
à

à
i
i
đ
đ


t
t
m
m


t
t
interface
interface
th
th
ì
ì
ph
ph


i
i
c
c
à

à
i
i
đ
đ


t
t
t
t


t
t
c
c


c
c
á
á
c
c
t
t
í
í
nh

nh
năng
năng
đư
đư


c
c
khai
khai
b
b
á
á
o
o
trong
trong
interface
interface
đ
đ
ó
ó
.
.


C

C
ó
ó
th
th


hi
hi


u
u
interface
interface
như
như
l
l
à
à
m
m


t
t
l
l



p
p
tr
tr


u
u




ng
ng
ho
ho
à
à
n
n
to
to
à
à
n
n
(
(
t

t


t
t
c
c


c
c
á
á
c
c
phương
phương
th
th


c
c
đ
đ


u
u
tr

tr


u
u




ng
ng
).
).
Khi
Khi
m
m


t
t
class
class
c
c
à
à
i
i
đ

đ


t
t
m
m


t
t
interface,
interface,
th
th
ì
ì
coi
coi
như
như
n
n
ó
ó
đư
đư


c

c
k
k
ế
ế
th
th


a
a
t
t


l
l


p
p
tr
tr


u
u





ng
ng
k
k


trên
trên
Khai
Khai
b
b
á
á
o
o
:
:


[
[
attributes
attributes
] [
] [
modifiers
modifiers
]

]
interface
interface
identifier
identifier
[
[
:
:
base
base
-
-
list
list
]
]
{
{
interface
interface
-
-
body
body
}
}
[
[
;

;
]
]




ng đ
ng đ


i tư
i tư


ng trong C#
ng trong C#
-
-
Editor
Editor
:
:
Đo
Đo
à
à
n Quang Minh
n Quang Minh
8

8
Giao
Giao
ti
ti
ế
ế
p
p
(interface)
(interface)
Đ
Đ


c
c
t
t
í
í
nh
nh
:
:


M
M



t
t
interface
interface
c
c
ó
ó
th
th


l
l
à
à
th
th
à
à
nh
nh
viên
viên
c
c


a

a
m
m


t
t
namespace
namespace
ho
ho


c
c
m
m


t
t
class.
class.


Interface
Interface
c
c
ó

ó
th
th


ch
ch


a
a
c
c
á
á
c
c
th
th
à
à
nh
nh
viên
viên
sau
sau
:
:
Methods

Methods
Properties
Properties
Indexers
Indexers
Events
Events


M
M


t
t
interface
interface
c
c
ó
ó
th
th


k
k
ế
ế
th

th


a
a
t
t


m
m


t
t
hay
hay
nhi
nhi


u
u
interface
interface
kh
kh
á
á
c

c
T
T
ì
ì
nh
nh
hu
hu


ng
ng
th
th


c
c
t
t
ế
ế
:
:


Gi
Gi



thi
thi
ế
ế
t
t
ch
ch
ú
ú
ng
ng
ta
ta
c
c


n
n
cung
cung
c
c


p
p
ch

ch


c
c
năng
năng
T
T
ì
ì
m
m
ki
ki
ế
ế
m
m
cho
cho
hai
hai
lo
lo


i
i
đ

đ


i
i




ng
ng
l
l
à
à
văn
văn
b
b


n
n
v
v
à
à
h
h
ì

ì
nh
nh


nh
nh
.
.


r
r
à
à
ng
ng
hai
hai
lo
lo


i
i
đ
đ


i

i




ng
ng
n
n
à
à
y
y
kh
kh
á
á
c
c
nhau
nhau
,
,
nên
nên
không
không
th
th



c
c
ó
ó
chung
chung
phương
phương
th
th


c
c
T
T
ì
ì
m
m
ki
ki
ế
ế
m
m
.
.



S
S


đơn
đơn
gi
gi


n
n
hơn
hơn
n
n
ế
ế
u
u
c
c


hai
hai
đ
đ



i
i




ng
ng
n
n
à
à
y
y
đ
đ


u
u
k
k
ế
ế
th
th


a

a
interface
interface
ISearch
ISearch
:
:
ch
ch
ú
ú
ng
ng
ta
ta
c
c
ó
ó
th
th


é
é
p
p
ki
ki



u
u
đ
đ


i
i




ng
ng
v
v


interface,
interface,
vi
vi


c
c
g
g



i
i
h
h
à
à
m
m
Search()
Search()
s
s


không
không
ph
ph


thu
thu


c
c
v
v
à

à
o
o
đ
đ


i
i




ng
ng
ban
ban
đ
đ


u
u
.
.




ng đ

ng đ


i tư
i tư


ng trong C#
ng trong C#
-
-
Editor
Editor
:
:
Đo
Đo
à
à
n Quang Minh
n Quang Minh
9
9
Giao
Giao
ti
ti
ế
ế
p

p
(interface)
(interface)
interface
interface
IPoint
IPoint
{
{
int
int
x { get; set; }
x { get; set; }
int
int
y { get; set; }
y { get; set; }
}
}
class
class
MyPoint
MyPoint
:
:
IPoint
IPoint
{
{
private

private
int
int
myX
myX
;
;
private
private
int
int
myY
myY
;
;
public
public
MyPoint(int
MyPoint(int
x,
x,
int
int
y) {
y) {
myX
myX
= x;
= x;
myY

myY
= y; }
= y; }
public
public
int
int
x { get { return
x { get { return
myX
myX
; } set {
; } set {
myX
myX
= value; } }
= value; } }
public
public
int
int
y { get { return
y { get { return
myY
myY
; } set {
; } set {
myY
myY
= value; } }

= value; } }
}
}




ng đ
ng đ


i tư
i tư


ng trong C#
ng trong C#
-
-
Editor
Editor
:
:
Đo
Đo
à
à
n Quang Minh
n Quang Minh
10

10
H
H
à
à
m
m
t
t


o
o
v
v
à
à
h
h
à
à
m
m
h
h


y
y
(Construction and Disposal)

(Construction and Disposal)
H
H
à
à
m
m
t
t


o
o
(Construction)
(Construction)


Đ
Đ


nh
nh
ngh
ngh
ĩ
ĩ
a
a
v

v
à
à
c
c
ú
ú
ph
ph
á
á
p
p
:
:
như
như
C++
C++


Kh
Kh
á
á
c
c
bi
bi



t
t
v
v


i
i
C++:
C++:
không
không
nên
nên
kh
kh


i
i
t
t


o
o
bi
bi
ế

ế
n
n
th
th
à
à
nh
nh
viên
viên
trong
trong
h
h
à
à
m
m
t
t


o
o
.
.


Ch

Ch
ú
ú
ý
ý
v
v


i
i
h
h
à
à
m
m
t
t


o
o
c
c
ó
ó
tham
tham
s

s


:
:
hãy
hãy
luôn
luôn
luôn
luôn
c
c
ó
ó
h
h
à
à
m
m
t
t


o
o
m
m



c
c
đ
đ


nh
nh
đ
đ


tr
tr
á
á
nh
nh
l
l


i
i
biên
biên
d
d



ch
ch
.
.
H
H
à
à
m
m
t
t


o
o
t
t
ĩ
ĩ
nh
nh


L
L
à
à
h

h
à
à
m
m
t
t


o
o
,
,
đ
đ


ng
ng
th
th


i
i
l
l
à
à
h

h
à
à
m
m
t
t
ĩ
ĩ
nh
nh
.
.


Đư
Đư


c
c
g
g


i
i
khi
khi
s

s


d
d


ng
ng
phương
phương
th
th


c
c
t
t
ĩ
ĩ
nh
nh
c
c


a
a
đ

đ


i
i




ng
ng
.
.
G
G


i
i
h
h
à
à
m
m
t
t


o

o
khi
khi
k
k
ế
ế
th
th


a
a


Thông
Thông
qua
qua
t
t


kho
kho
á
á
base.
base.



C
C
ó
ó
th
th


truy
truy


n
n
tham
tham
s
s


cho
cho
l
l


p
p
base.

base.




ng đ
ng đ


i tư
i tư


ng trong C#
ng trong C#
-
-
Editor
Editor
:
:
Đo
Đo
à
à
n Quang Minh
n Quang Minh
11
11
H

H
à
à
m
m
t
t


o
o
v
v
à
à
h
h
à
à
m
m
h
h


y
y
(Construction and Disposal)
(Construction and Disposal)
H

H
à
à
m
m
h
h


y
y
(Disposal)
(Disposal)


Không
Không
quan
quan
tr
tr


ng
ng
như
như
C++, do
C++, do
b

b


nh
nh


t
t


đ
đ


ng
ng
đư
đư


c
c
qu
qu


n
n



b
b


i
i
b
b


thu
thu
gom
gom
r
r
á
á
c
c
.
.


N
N
ế
ế
u

u
c
c
ó
ó
đ
đ


nh
nh
ngh
ngh
ĩ
ĩ
a
a
,
,
h
h
à
à
m
m
h
h


y

y
s
s


đư
đư


c
c
g
g


i
i
b
b


i
i
b
b


thu
thu
gom

gom
r
r
á
á
c
c
,
,
nhưng
nhưng
không
không
x
x
á
á
c
c
đ
đ


nh
nh
đư
đư


c

c
th
th


i
i
đi
đi


m
m
g
g


i
i
.
.


C
C
ó
ó
th
th



s
s


d
d


ng
ng
giao
giao
ti
ti
ế
ế
p
p
IDisposable
IDisposable
.
.


Hay
Hay
d
d
ù

ù
ng
ng
khi
khi
gi
gi


i
i
ph
ph
ó
ó
ng
ng
c
c
á
á
c
c
t
t
à
à
i
i
nguyên

nguyên
kh
kh
á
á
c
c
b
b


nh
nh


(
(
k
k
ế
ế
t
t
n
n


i
i
CSDL,

CSDL,
t
t


p
p
tin,
tin,


)
)




ng đ
ng đ


i tư
i tư


ng trong C#
ng trong C#
-
-
Editor

Editor
:
:
Đo
Đo
à
à
n Quang Minh
n Quang Minh
12
12
C
C


u
u
tr
tr
ú
ú
c
c
(
(
Structs
Structs
)
)
C

C


u
u
tr
tr
ú
ú
c
c
(
(
struct
struct
)
)


Ch
Ch


ch
ch


a
a
c

c
á
á
c
c
bi
bi
ế
ế
n
n
,
,
không
không
ch
ch


a
a
phương
phương
th
th


c
c



Khai
Khai
b
b
á
á
o
o
v
v
à
à
s
s


d
d


ng
ng
c
c


u
u
tr

tr
ú
ú
c
c
:
:
c
c
ó
ó
th
th


d
d
ù
ù
ng
ng
ho
ho


c
c
không
không
d

d
ù
ù
ng
ng
to
to
á
á
n
n
t
t


new
new
struct
struct
v
v
à
à
k
k
ế
ế
th
th



a
a


struct
struct
không
không
th
th


k
k
ế
ế
th
th


a
a
đư
đư


c
c
.

.


Ngo
Ngo


i
i
l
l


:
:
m
m


t
t
struct
struct
coi
coi
như
như
đư
đư



c
c
k
k
ế
ế
th
th


a
a
t
t


l
l


p
p
Object
Object
Kh
Kh


i

i
t
t


o
o
struct
struct


Không
Không
th
th


kh
kh


i
i
t
t


o
o
c

c
á
á
c
c
bi
bi
ế
ế
n
n
th
th
à
à
nh
nh
viên
viên
khi
khi
khai
khai
b
b
á
á
o
o



C
C
ó
ó
th
th


c
c
ó
ó
h
h
à
à
m
m
t
t


o
o




ng đ

ng đ


i tư
i tư


ng trong C#
ng trong C#
-
-
Editor
Editor
:
:
Đo
Đo
à
à
n Quang Minh
n Quang Minh
13
13
Qu
Qu
á
á
t
t



i
i
to
to
á
á
n
n
t
t


(Operator Overloading)
(Operator Overloading)
Đ
Đ


nh
nh
ngh
ngh
ĩ
ĩ
a
a
:
:
như

như
C++
C++
C
C
ú
ú
ph
ph
á
á
p
p
V
V
í
í
d
d






ng đ
ng đ


i tư

i tư


ng trong C#
ng trong C#
-
-
Editor
Editor
:
:
Đo
Đo
à
à
n Quang Minh
n Quang Minh
14
14
Ch
Ch


m
m


c
c
(Indexers)

(Indexers)


t
t


:
:


To
To
á
á
n
n
t
t


[ ]
[ ]
trong
trong
C#
C#
không
không
th

th


qu
qu
á
á
t
t


i
i
đư
đư


c
c
.
.


Ch
Ch


m
m



c
c
l
l
à
à
c
c
á
á
ch
ch
l
l
à
à
m
m
gi
gi


ng
ng
như
như
vi
vi



c
c
qu
qu
á
á
t
t


i
i
to
to
á
á
n
n
t
t


[ ]
[ ]
trong
trong
C++,
C++,
gi

gi
ú
ú
p
p
cho
cho
vi
vi


c
c
truy
truy
c
c


p
p
v
v
à
à
o
o
m
m



t
t
class
class
ho
ho


c
c
m
m


t
t
struct
struct
gi
gi


ng
ng
như
như
truy
truy
c

c


p
p
v
v
à
à
o
o
m
m


t
t
array.
array.


Gi
Gi


ng
ng
như
như
thu

thu


c
c
t
t
í
í
nh
nh
,
,
ch
ch


m
m


c
c
c
c
ũ
ũ
ng
ng
g

g


m
m
c
c


p
p
phương
phương
th
th


c
c
get
get
v
v
à
à
set.
set.
type
type
this

this
[
[
formal
formal
-
-
index
index
-
-
parameter
parameter
-
-
list
list
]
]


type
type
:
:
ki
ki


u

u
tr
tr


v
v




formal
formal
-
-
index
index
-
-
parameter
parameter
-
-
list
list
:
:
danh
danh
s

s
á
á
ch
ch
c
c
á
á
c
c
ch
ch


m
m


c
c




ng đ
ng đ


i tư

i tư


ng trong C#
ng trong C#
-
-
Editor
Editor
:
:
Đo
Đo
à
à
n Quang Minh
n Quang Minh
15
15
Ch
Ch


m
m


c
c
(Indexers)

(Indexers)
V
V
í
í
d
d


:
:


Gi
Gi


s
s


c
c
ó
ó
l
l


p

p
Matrix (ma
Matrix (ma
tr
tr


n
n
).
).


Khi
Khi
d
d
ù
ù
ng
ng
2
2
ch
ch


s
s



truy
truy
c
c


p
p
,
,
v
v
í
í
d
d


,
,
a[i][j
a[i][j
]
]
s
s


nh

nh


n
n
đư
đư


c
c
m
m


t
t
th
th
à
à
nh
nh
ph
ph


n
n
s

s


.
.
N
N
ế
ế
u
u
d
d
ù
ù
ng
ng
1
1
ch
ch


s
s


truy
truy
c

c


p
p
,
,
v
v
í
í
d
d


,
,
a[i
a[i
]
]
s
s


nh
nh


n

n
đư
đư


c
c
m
m


t
t
vector
vector
struct
struct
Matrix
Matrix
{
{
public double[][] x;
public double[][] x;
public double this [
public double this [
uint
uint
i,
i,
uint

uint
j];
j];
public Vector this [
public Vector this [
uint
uint
i];
i];
}
}




ng đ
ng đ


i tư
i tư


ng trong C#
ng trong C#
-
-
Editor
Editor
:

:
Đo
Đo
à
à
n Quang Minh
n Quang Minh
16
16
T
T
à
à
i li
i li


u tham kh
u tham kh


o
o
Professional C#, Second Edition
Professional C#, Second Edition
http
http
://www.asp.net
://www.asp.net
/> />


Đ
Đ


a ch
a ch


download t
download t
à
à
i li
i li


u
u
/> />-
-
day/tab.aspx
day/tab.aspx
Di
Di


n đ
n đ
à

à
n C# & .NET
n C# & .NET
/> />ory/hoc
ory/hoc
-
-
tap
tap
-
-
nghien
nghien
-
-
cuu/dot
cuu/dot
-
-
net/tab.aspx
net/tab.aspx

×