TRƯỜNG ĐẠI HC PHẠM VĂN ĐỒNG
KHOA CÔNG NGH THÔNG TIN
ĐỨC LÂN
BÀI GING
LP TRÌNH HƯỚNG ĐỐI TƯNG
(Dùng cho sinh viên các lp đại hc Công ngh thông tin, phạm tin)
Qung Ngãi, 06 - 2017
TRƯỜNG ĐẠI HC PHẠM VĂN ĐỒNG
KHOA CÔNG NGH THÔNG TIN
ĐỨC LÂN
BÀI GING
LP TRÌNH HƯỚNG ĐỐI TƯNG
(Dùng cho sinh viên các lp đại hc Công ngh thông tin, phạm tin)
hành nội b
LỜI NÓI ĐẦU
Lp trình cấu trúc phương pháp tổ chức, phân chia chương trình thành các
hàm, th tục, chúng được dùng đ x d liệu nhưng lại tách ri các cu trúc d liu.
Thông qua các ngôn ng Foxpro, Pascal, C đa s những người m Tin học đã khá
quen biết với phương pháp lập trình này.
Lp trình hướng đối tượng da trên vic t chức chương trình thành các lp.
Khác vi hàm th tc, lp một đơn vị bao gm c d liệu các phương thc x
lý. vy lp th t các thc th mt ch chân thực, đầy đủ c phn d liu
yêu cu qun lý. Tư tưởng lp trình hướng đối tượng được áp dng cho hu hết các
ngôn ng mi chạy trên môi trường Windows như Microsoft Access, Visual Basic,
Visual C. Vì vy vic nghiên cứu phương pháp lp trình mi này là rt cn thiết đối vi
tt c những người quan tâm, yêu thích Tin hc.
Bài ging này s trình bày mt cách h thng các khái nim ca lp trình hướng
đối tượng được cài đặt trong C++ như lớp, đối tượng, s tha kế, tính tươngng bi
các kh năng mới trong xây dng, s dụng hàm như: đối tham chiếu, đối mặc định,
hàm trùng tên, m toán t, m bn. Các ví d bài tp thực hành được viết code
trên môi trường Dev-C++.
Bài giảng được thiết kế dành cho sinh viên đi hc các ngành Công ngh thông
tin phm tin hc. Nội dung được xây dựng theo đúng chương trình chi tiết ca
hc phn môn Lp trình hướng đối tượng đã được ban hành. Hy vng bài ging này s
là tài liu b ích dành cho sinh viên ngành Công ngh thông tin Sư phạm tin hc ca
trường Đi hc Phm Văn Đồng. Tuy nhiên do hn chế v thi gian nên bài ging chc
chn còn nhiu thiếu sót. Mong nhn được nhiu ý kiến đóng góp t các bạn đọc, đng
nghip và sinh viên.
Tác gi
Đức Lân
Trang 1
CHƯƠNG 1: CÁC KHÁI NIỆM CƠ SỞ LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
Chương 1 trình bày nhng vấn đề sau:
Tho lun v cách tiếp cận hướng đối tượng.
Các khái niệm cơ sở ca phương pháp hướng đối tượng.
Các bước cn thiết để thiết kế chương trình theo hướng đối tượng.
Các ưu điểm ca lp trình hướng đối tượng.
Các ngôn ng hướng đối tượng.
Mt s ng dng ca lp trình hướng đối tượng.
1.1. Giới thiệu
Lp trình hướng đối tượng (Object-Oriented Programming, viết tt OOP) là
một phương pháp mới trên bước đường tiến hóa ca vic lp trình máy tính, nhm làm
cho chương trình tr nên linh hot, tin cy d phát triển. Tuy nhiên để hiểu được
OOP gì, chúng ta hãy bắt đu t lch s ca quá trình lp trình xem xét OOP đã
tiến hóa như thế nào.
1.1.1. Lập trình tuyến tính
Máy tính đầu tiên được lp trình bng mã nh phân, s dng các công tắt
khí để nạp chương trình. Cùng vi s xut hin ca các thiết b lưu trữ ln b nh
máy tính dung lượng ln nên các ngôn ng lp trình cấp cao đầu tiên được đưa vào
s dng . Thay phi suy nghĩ trên mt dãy các bit byte, lp trình viên th viết
mt lot lnh gn vi tiếng Anh sau đó chương trình dch thành ngôn ng máy. Các
ngôn ng lp trình cp cao đầu tiên được thiết kế để lập các chương trìnhm các công
việc tương đối đơn giản như tính toán. Các chương trình ban đầu ch yếu liên quan đến
tính toán và không đòi hi gì nhiu ngôn ng lp trình. Hơn nữa phn ln các chương
trình này tương đối ngắn, thường ít hơn 100 dòng. Khi kh năng của máy tính tăng lên
thì kh năng để triển khai các chương trình phc tạp n cũng tăng lên. Các ngôn ng
lp trình ngày trước không còn thích hợp đối vi vic lp trình đòi hỏi cao hơn. Các
phương tiện cn thiết để s dng li các phn chương trình đã viết hu như không
Trang 2
trong ngôn ng lp trình tuyến tính. Tht ra, một đoạn lệnh thường phải được chép
lp li mi khi chúng ta dùng trong nhiều chương trình do đó chương trình dài dòng,
logic của chương trình khó hiểu. Chương trình được điều khin để nhy đến nhiu ch
thường không s gii thích ràng, m thế nào đ chương trình đến ch cn
thiết hoc tại sao nvậy. Ngôn ng lp trình tuyến tính không kh năng kiểm soát
phm vi nhìn thy ca các d liu. Mi d liu trong chương trình đều d liu toàn
cc nghĩa là chúng th b sửa đổi bt k phn nào của chương trình. Vic tìm
các thay đổi không mong muốn đó ca các phn t d liu trong mt y lnh dài
và vòng vèo đã tng làm cho các lp trình viên rt mt thi gian.
1.1.2. Lập trình cu trúc
ràng là c ngôn ng mi với các tính năng mới cn phải được phát triển để
th to ra các ng dụng tinh vi hơn. Vào cuối các năm trong 1960 và 1970, ngôn
ng lp trình cu trúc ra đời. Các chương trình cấu trúc được t chc theo c
công vic chúng thc hin. V bn chất, chương trình chia nh thành các chương
trình con riêng r (còn gi là hàm hay th tc) thc hin các công vic ri rc trong quá
trình lớn n, phức tạp hơn. Các hàm này đưc gi càng độc lp vi nhau càng nhiu
càng tt, mi m d liệu logic riêng.Thông tin đưc chuyn giao gia các m
thông qua các tham s, c m th c biến cc b không mt ai nm bên
ngoài phm vi ca m li th truy xuất được chúng. Như vậy, các hàm th được
xem các chương trình con được đặt chung với nhau để xây dng nên mt ng dng.
Mc tiêu là làm sao cho vic trin khai các phn mm d dàng hơn đối vi các lp trình
viên mà vn ci thin được tính tin cy và d bo quản chương trình. Một chương trình
cấu trúc được hình thành bng cách b gãy c chức năng bản ca chương trình
thành các mnh nh mà sau đó trở thành các hàm. Bng cách lp các công vic vào
trong c m, chương trình cu trúc th m gim kh năng ca mt m này
ảnh hưởng đến mt m khác. Vic này cũng làm cho vic tách các vn đ tr nên d
dàng hơn. Sự gói gn này cho phép chúng ta th viết các chương trình sáng sủa hơn
gi được điều khin trên tng m. Các biến toàn cc không còn nữa được thay