1
Chương
Chương 12
12
K
Kế
ếth
thừ
ừa
a
Nguy
Nguyễ
ễn
nH
Hồ
ồng
ng Phương
Phương
Khoa
Khoa CNTT
CNTT,
, ĐHBKHN
ĐHBKHN
2
K
Kế
ếth
thừ
ừa
al
là
àg
gì
ì?
?
•Nếuaiđóđể lạichobạnmộtthứgì
đótheonguyệnvọng củangườiấy
thì bạnđượccoilàkếthừanó.
•Con cáikếthừamộtnửagendi
truyềncủamẹ, mộtnửacủacha.
•Kếthừatronglập trình, ý muốnnói
đếnmốiquanhệgiữacáclớp.
3
L
Lớ
ớp
pcơ
cơs
sở
ởv
và
àl
lớ
ớp
pnh
nhậ
ận
n
•Lớpcơsởcòn gọilàlớpcha, lớptổ
tiên.
•Lớpnhậncòngọilàlớpdẫnxuất, lớp
con cháu.
•Cúphápkhaibáomộtlớpkếthừatừ
lớpkhác:
class <lớpnhận>:<lớpcơsở>{
……
}
4
L
Lớ
ớp
pcơ
cơs
sở
ởv
và
àl
lớ
ớp
pnh
nhậ
ận
n
•Lớpnhậnkếthừatừlớpcơsở.
•Mộtlớp không đượcphépnhậntừhai
lớptrởlên.
•KhácvớiC++, tínhchấtkếthừa
trong C# luôn là toàn cục.
•Lớp System.Object là lớpgốccủatất
cảcác lớp.
class Token: System.Object{
public Token(string name){
……
}
}
class Token{
public Token(string name){
……
}
}
5
G
Gọ
ọi
iphương
phương th
thứ
ức
ckh
khở
ởi
it
tạ
ạo
oc
củ
ủa
al
lớ
ớp
pcơ
cơs
sở
ở
•Mộtphương thứckhởitạolớpnhận
sẽphảigọiphương thứckhởitạolớp
cơsở.
•Dùngtừkhóa base để gọiphương
thứckhởitạocủalớpcơsở.
class IdentifierToken:Token{
public IdentifierToken(string name):base(name){
……
}
}gọiđến
Token(name)