3. Keá thöøa<br />
<br />
1<br />
<br />
Noäi dung<br />
1.<br />
2.<br />
3.<br />
4.<br />
5.<br />
<br />
Môû ñaàu<br />
Keá thöøa ñôn<br />
Phaïm vi truy xuaát<br />
Phöông thöùc thieát laäp vaø huyû boû<br />
Con troû vaø keá thöøa<br />
2<br />
<br />
1 Môû ñaàu<br />
- Söï keá thöøa laø moät ñaëc ñieåm cuûa ngoân ngöõ duøng ñeå bieåu<br />
dieãn moái quan heä ñaëc bieät giöõa caùc lôùp. Caùc lôùp ñöôïc tröøu<br />
töôïng hoùa vaø toå chöùc thaønh moät sô ñoà phaân caáp lôùp.<br />
- Keá thöøa laø moät cô cheá tröøu töôïng hoùa. Thuû tuïc vaø haøm laø cô<br />
cheá tröøu töôïng hoùa cho giaûi thuaät, record vaø struct laø tröøu<br />
töôïng hoùa cho döõ lieäu. Khaùi nieäm lôùp trong C++, keát hôïp<br />
döõ lieäu vaø thuû tuïc ñeå ñöôïc kieåu döõ lieäu tröøu töôïng vôùi giao<br />
dieän ñoäc laäp vôùi caøi ñaët vaø cho ngöôøi söû duïng caûm giaùc<br />
thoaûi maùi nhö kieåu döõ lieäu coù saün<br />
- Söï keá thöøa laø moät möùc cao hôn cuûa tröøu töôïng hoùa. cung<br />
caáp moät cô cheá gom chung caùc lôùp coù lieân quan vôùi nhau<br />
thaønh moät möùc khaùi quaùt hoùa ñaëc tröng cho toaøn boä caùc lôùp<br />
noùi treân. Caùc lôùp vôùi caùc ñaëc ñieåm töông töï nhau coù theå<br />
ñöôïc toå chöùc thaønh moät sô ñoà phaân caáp keá thöøa. Lôùp ôû<br />
3<br />
treân cuøng laø tröøu töôïng hoùa cuûa toaøn boä caùc lôùp oû beân döôùi<br />
noù.<br />
<br />
Môû ñaàu<br />
Quan heä laø 1: Keá thöøa ñöôïc söû duïng thoâng duïng nhaát ñeå<br />
bieåu dieãn quan heä laø moät.<br />
• Moät sinh vieân laø moät ngöôøi<br />
• Moät hình troøn laø moät hình ellipse<br />
• Moät tam giaùc laø moät ña giaùc<br />
<br />
Keá thöøa taïo khaû naêng xaây döïng lôùp môùi töø lôùp ñaõ coù, trong<br />
ñoù haøm thaønh phaàn ñöôïc thöøa höôûng töø lôùp cha. Trong<br />
C++, keá thöøa coøn ñònh nghóa söï töông thích, nhôø ñoù ta coù<br />
cô cheá chuyeån kieåu töï ñoäng.<br />
Keá thöøa vöøa coù khaû naêng taïo cô cheá khaùi quaùt hoaù vöøa coù<br />
khaû naêng chuyeân bieät hoaù.<br />
Keá thöøa cho pheùp toå chöùc caùc lôùp chia seû maõ chöông trình<br />
chung nhôø vaäy coù theå deã daøng söûa chöõa, naâng caáp heä<br />
thoáng.<br />
4<br />
<br />
Môû ñaàu<br />
Keá thöøa thöôøng ñöôïc duøng theo hai caùch:<br />
• Ñeå phaûn aùnh moái quan heä giöõa caùc lôùp. Laø coâng cuï ñeå<br />
toå chöùc vaø phaân caáp lôùp döïa vaøo söï chuyeân bieät hoùa,<br />
trong ñoù moät vaøi haøm thaønh phaàn cuûa lôùp con laø phieân<br />
baûn hoaøn thieän hoaëc ñaëc bieät hoaù cuûa phieân baûn ôû lôùp<br />
cha. Trong C++ moái quan heä naøy thöôøng ñöôïc caøi ñaët<br />
söû duïng:<br />
Keá thöøa public.<br />
Haøm thaønh phaàn laø phöông thöùc aûo<br />
<br />
• Ñeå phaûn aùnh söï chia seû maõ chöông trình giöõa caùc lôùp<br />
khoâng coù quan heä veà maët ngöõ nghóa nhöng coù theå coù toå<br />
chöùc döõ lieäu vaø maõ chöông trình töông töï nhau. Trong<br />
C++, cô cheá chia seû maõ naøy thöôøng ñöôïc caøi ñaët duøng:<br />
Keá thöøa private.<br />
Haøm thaønh phaàn khoâng laø phöông thöùc aûo.<br />
5<br />
<br />