Khoa Khoa hc & Kthut Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
Môn : Lp trình hướng ₫ối tượng
Chương 3 : Các khái nim chính ca lp trình hướng ₫ối tượng
Slide 1
3.0 Dn nhp
3.1 Cu trúc ca 1 ng dng hướng ₫ối tượng
3.2 Đối tượng, thuc tính, tác v
3.3 Abstract type
3.4 Class
3.5 Tính bao óng
3.6 Tính tha kế & cơ chế'override'
3.7 Tính bao gp
3.8 Thông ip, tính a x kim tra kiu
3.9 Tính tng quát hóa
3.10 Kết chương
Chương 3
Các khái nim chính ca lp trình hướng ₫ối tượng
Khoa Khoa hc & Kthut Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
Môn : Lp trình hướng ₫ối tượng
Chương 3 : Các khái nim chính ca lp trình hướng ₫ối tượng
Slide 2
3.0 Dn nhp
Chương này gii thiu cu trúc ca chương trình ₫ược lp trình
theo kthut hướng ₫ối tượng (OOP — Objects Oriented
Programming), các phương tin ₫ặc t ₫ối tượng như phát biu
interface, phát biu class.
Chương này cũng gii thiu các tính cht liên quan ₫ến vic ₫ặc
t sdng ₫ối tượng như tha kế, bao óng, bao gp, tng
quát hóa.
Chương này cũng gii thiu phương tin giao tiếp duy nht gia
các ₫ối tượng là thông ip, nhu cu cn phi có tính a xtrong
vic thc hin lnh gi thông ip.
Khoa Khoa hc & Kthut Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
Môn : Lp trình hướng ₫ối tượng
Chương 3 : Các khái nim chính ca lp trình hướng ₫ối tượng
Slide 3
3.1 Cu trúc chương trình OOP
Chương trình = tp các ₫ối tượng sng ₫ộc lp, tương tác nhau khi
cn thiết ₫ể hoàn thành nhim vca chương trình (ng dng).
Đối tượng
(object)
dliu cc
btrong
tng hàm
dliu cc
b trong
₫ối tượng
Đim nhp
chương
trình (hàm
Main)
Khoa Khoa hc & Kthut Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
Môn : Lp trình hướng ₫ối tượng
Chương 3 : Các khái nim chính ca lp trình hướng ₫ối tượng
Slide 4
3.1 Cu trúc chương trình OOP
Cu trúc chương trình hướng ₫ối tượng rt thun nht, chcha 1
loi thành phn : ₫ối tượng.
Các ₫ối tượng có tính ₫ộc lp rt cao qun lý, kim soát
chương trình rt d(cho dù chương trình có thrt ln) d
nâng cp, bo trì.
Không thto ra dliu toàn cc ca chương trình im yếu
nht ca chương trình cu trúc không tn ti na.
Khoa Khoa hc & Kthut Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
Môn : Lp trình hướng ₫ối tượng
Chương 3 : Các khái nim chính ca lp trình hướng ₫ối tượng
Slide 5
3.2 Đối tượng (Object)
Đối tượng là nguyên tcu thành ng dng.
Đối tượng bao gm 2 loi thành phn chính yếu :
Tp các tác v(operation) : mi tác vthc hin 1 chc năng
rõ ràng ₫ơn gin nào ó.
Tp các thuc tính dliu (attribute) : mi thuc tính có kiu
dliu cth, và cha 1 giá trcththuc kiu tương ng ti
tng thi im. Các thuc tính phc vcho các tác v
₫ối tượng xlý bi các tác v.
Khoa Khoa hc & Kthut Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
Môn : Lp trình hướng ₫ối tượng
Chương 3 : Các khái nim chính ca lp trình hướng ₫ối tượng
Slide 6
3.2 Đối tượng (Object)
Viết phn mm hướng ₫ối tượng là qui trình ₫ặc tcác loi ₫ối
tượng cu thành ng dng.
Đặc tmt loi ₫ối tượng là ₫ặc t2 góc nhìn khác nhau v ₫ối
tượng :
Góc nhìn sdng : dùng phát biu interface.
Góc nhìn hin thc cth: dùng phát biu class.
Interface
(abstract type)
Implementation
(class)
Khoa Khoa hc & Kthut Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
Môn : Lp trình hướng ₫ối tượng
Chương 3 : Các khái nim chính ca lp trình hướng ₫ối tượng
Slide 7
3.3 Kiu tru tượng (Abstract type) hay interface
Phát biu interface ₫ịnh nghĩa thông tin sdng ₫ối tượng mà
bên ngoài thy, kết hp các thông tin này vi 1 tên gi, tên này
₫ược gi là tên kiu tru tượng (Abstract type) hay ngn gn là
type.
Interface là tp hp các im nhp (entry) mà bên ngoài có th
giao tiếp vi ₫ối tượng. C# cho phép ₫ịnh nghĩa nhiu loi im
nhp, nhưng phbiến nht là tác vchc năng (operation).
Ta dùng chký (signature) ₫ể ₫ịnh nghĩa và phân bit mi im
nhp. Chký ca 1 tác vgm :
1. tên tác v(operation)
2. danh sách tham shình thc, mi tham s ₫ược ₫ặc tbi 3
thuc tính : tên, type và chiu di chuyn (IN, OUT, INOUT).
3. ₫ặc tchc năng ca tác v (thường dng chú thích).
Khoa Khoa hc & Kthut Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
Môn : Lp trình hướng ₫ối tượng
Chương 3 : Các khái nim chính ca lp trình hướng ₫ối tượng
Slide 8
3.3 Kiu tru tượng (Abstract type) hay interface
Mun làm vic vi 1 ₫ối tượng nào ó, ta thường dùng biến ₫ối
tượng. Biến ₫ối tượng nên ₫ược ₫ặc tkiu bng tên interface,
hn chếdùng tên class cth.
Biến ₫ối tượng là biến tham kho, nó không cha trc tiếp ₫ối
tượng, nó chcha các thông tin ₫ể truy xut ₫ược ₫ối tượng, bt
chp ₫ối tượng ang nm âu.
Biến ₫ối tượng thuc kiu interface có ththam kho ₫ến nhiu
₫ối tượng thuc các class cthkhác nhau min sao các ₫ối
tượng này htr ₫ược interface tương ng.
Như vy, nếu ta dùng ₫ối tượng thông qua biến thuc kiu
interface thì ta không cn biết bt kthông tin hin thc chi tiết
nào v ₫ối tượng mà mình ang dùng, nhvy code ng dng s
₫ộc lp hoàn toàn vi class hin thc ca ₫ối tượng ₫ược sdng
trong ng dng.
Khoa Khoa hc & Kthut Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
Môn : Lp trình hướng ₫ối tượng
Chương 3 : Các khái nim chính ca lp trình hướng ₫ối tượng
Slide 9
Thí dinterface
Thí d sau ây miêu t1 interface ca ₫ối tượng mà htr2 tác
vchun hóa chui tiếng Vit vdng thp và dng sn.
Thông qua interface, người dùng không hthy và biết chi tiết v
hin thc ca các tác v, nhưng iu này không h ngăn cn h
trong vic dùng ₫ối tượng nào ó interface IVietLib.
interface IVietLib {
//tác vchun hóa chui tiếng Vit vdng thp
int VnPre2Comp(String src, int len, ref String dst);
//tác vchun hóa chui tiếng Vit vdng dng sn
int VnComp2Pre(String src, int len, ref String dst);
}
Khoa Khoa hc & Kthut Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
Môn : Lp trình hướng ₫ối tượng
Chương 3 : Các khái nim chính ca lp trình hướng ₫ối tượng
Slide 10
3.4 Class (Implementation)
Phát biu class ₫ịnh nghĩa chi tiết hin thc ₫ối tượng :
₫ịnh nghĩa các thuc tính, mi thuc tính ₫ược ₫ặc tbi các
thông tin vnó như tên nhn dng, kiu dliu, tm vc truy
xut,... Kiu ca thuc tính có th type c in (kiu giá tr:
snguyên, thc, ký t, chui ký t,...) hay kiu ₫ối tượng (kiu
tham kho), trong trường hp sau thuc tính s tham kho
₫ến ₫ối tượng khác. Trng thái ca ₫ối tượng là tp giá trca
tt cthuc tính ca ₫ối tượng ti thi im tương ng.
'coding' các tác v(miêu tgii thut chi tiết vhot ₫ộng ca
tác v), các hàm ni btrong class và các thành phn khác.
Ngoài các thành phn chc năng, ta còn phi ₫ịnh nghĩa các tác
vqun lý ₫ối tượng như : khi to trng thái ban ₫ầu
(constructor), dn dp các phn t liên quan ₫ến ₫ối tượng khi
₫ối tượng bxóa (destructor).