
TRƯỜNG CAO ĐẲNG VIỆT MỸ
GIÁO TRÌNH
MÔN HỌC: LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
NGÀNH: CÔNG NGHỆ THÔNG TIN
TRÌNH ĐỘ: TRUNG CẤP/CAO ĐẲNG
(Ban hành kèm theo Quyết định số: /QĐ-CĐVM ngày ..… tháng ....... năm
2023 của Trường Cao đẳng Việt Mỹ)
Thành phố Hồ Chí Minh, năm 2023
(Lưu hành nội bộ

TUYÊN BỐ BẢN QUYỀN
Tài liệu này thuộc loại sách giáo trình nên các nguồn thông tin có thể được
phép dùng nguyên bản hoặc trích dùng cho các mục đích về đào tạo và tham khảo.
Mọi mục đích khác mang tính lệch lạc hoặc sử dụng với mục đích kinh doanh
thiếu lành mạnh sẽ bị nghiêm cấm.

LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG I
LỜI GIỚI THIỆU
Giáo trình lập trình hướng đối tượng được biên soạn nhằm đáp ứng yêu cầu
học tập của sinh viên khi làm quen với những phần mềm ngày càng lớn và phức
tạp, đòi hỏi được cập nhật liên tục để đápứng những yêu cầu mới của người dùng.
Phương pháp lập trình thủ tục truyền thống dần trở nên không đáp ứng được
những đòi hỏi đó của ngành công nghiệp phần mềm. Lập trình hướng đối tượng đã
ra đời trong bối cảnh như vậy để hỗ trợ sử dụng lại và phát triển các phần mềm qui
mô lớn, đồng thời giúp cho sinh viên có một tài liệu học tập, rèn luyện tốt khả năng
lập trình, tạo nền tảng vững chắc cho các môn học tiếp theo.
Giáo trình dùng cho sinh viên ngành Công nghệ thông tin đã có kiến thức căn
bản về lập trình. Giáo trình sử dụng ngôn ngữ lập trình C# để minh họa và đồng thời
cũng giới thiệu một số kiến thức căn bản của ngôn ngữ này. Kết cấu giáo trình gồm
có:
Bài 1: Giới thiệu về visual c#
Bài 2: Xử lý dữ liệu
Bài 3: Điều khiển rẽ nhánh
Bài 4: Vòng lặp, tập tin và số ngẫu nhiên
Bài 5: Điều chỉnh mã bằng các phương thức
Bài 6: Mảng (array) và danh sách (list)
Bài 7: Xử lý văn bản
Bài 8: Cấu trúc, kiểu liệt kê và từ điển
Bài 9: Giới thiệu về lớp
Bài 10: Kế thừa, đa hình và giao tiếp
Khi biên soạn, chúng tôi đã tham khảo các giáo trình và tài liệu giảng dạy môn
học này của một số trường Cao đẳng, Đại học để giáo trình vừa đạt yêu cầu về nội
dung vừa thích hợp với đối tượng là sinh viên của các trường Cao đẳng Nghề.
Thành phố Hồ Chí Minh, ngày tháng năm 2023
Tham gia biên soạn
ThS. Trần Công Mua – Chủ biên

LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG II
MỤC LỤC
LỜI GIỚI THIỆU.................................................................................................. I
MỤC LỤC........................................................................................................... II
DANH MỤC HÌNH ẢNH ......................................................................................V
DANH MỤC BẢNG ...........................................................................................VII
BÀI 1: TỔNG QUAN VỀ NGÔN NGỮ C# CƠ BẢN............................................1
1.1. Tổng quan về các vòng lặp:..................................................................... 1
1.1.1. Vòng lặp While:..................................................................................1
1.1.2. Vòng lặp For: ..................................................................................... 2
1.1.3. Vòng lặp do…While...........................................................................3
1.1.4. Vòng lặp foreach ................................................................................4
1.2. Các lệnh điều khiển vòng lặp................................................................... 5
1.3. Mảng trong C# ......................................................................................... 6
1.3.1. Mảng một chiều trong C#.................................................................. 6
1.3.2. Lớp ArrayList trong C# .......................................................................8
1.3.3. String trong C# .................................................................................11
BÀI TẬP............................................................................................................ 18
BÀI 2: NGOẠI LỆ .............................................................................................. 21
2.1. Ngoại lệ là gì?........................................................................................ 21
2.2. Phân loại ngoại lệ...................................................................................23
2.3. Xử lý ngoại lệ ......................................................................................... 24
2.4.
Ngoại lệ là đối tượng
............................................................................ 28
2.5. Sử dụng Finally ...................................................................................... 29
2.6. Sử dụng throws và throw ....................................................................... 31
2.7. Tạo một Exception mới .......................................................................... 34
2.8. Ngoại lệ tự định nghĩa............................................................................34
BÀI TẬP............................................................................................................ 36
BÀI 3: CÁC KHÁI NIỆM VỀ LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG ......................38
3.1. Phương pháp tiếp cận lập trình truyền thống .........................................38
3.2. Phương pháp tiếp cận của lập trình hướng đối tượng ...........................40
3.2.1. Ưu điểm của phương pháp lập trình hướng đối tượng................... 40
3.2.2. Nhược điểm của phương pháp lập trình hướng đối tượng ............. 41
3.3. Sơ lược về các khái niệm cơ bản .......................................................... 42

LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG III
3.4. Phân tích thiết kế hướng đối tượng....................................................... 45
BÀI 4: LỚP VÀ ĐỐI TƯỢNG TRONG C# ........................................................ 47
4.1. Khái niệm đối tượng và lớp....................................................................47
4.1.1. Đối tượng (Object)...........................................................................47
4.1.2. Lớp (Class) ......................................................................................48
4.1.3. Truy cập đến thuộc tính và phương thức của lớp ............................52
4.1.4. Thuộc tính của lớp...........................................................................52
4.1.5. Phương thức của lớp...................................................................... 53
4.2. Nạp chồng phương thức ........................................................................55
4.3. Hàm tạo (Constructor) ............................................................................57
4.3.1. Các quy tắc tạo constructor trong C# .............................................. 57
4.3.2. Constructor mặc định trong C# ........................................................58
4.3.3. Constructor có tham số trong C# .....................................................59
4.3.4. Constructor Overloading trong C# ................................................... 60
4.4. Từ khóa this........................................................................................... 61
4.5. Sử dụng this() gọi Constructor của lớp hiện tại......................................63
4.5.1. Ví trí sử dụng this() để gọi Constructor ............................................64
4.5.2. Gọi phương thức của lớp hiện tại. ...................................................65
4.5.3. Sử dụng từ khóa this như một tham số của phương thức.............. 66
4.5.4. Sử dụng từ khóa this như một tham số của Constructor.................66
4.5.5. Sử dụng từ khóa this để trả về instance của lớp hiện tại. ............... 67
4.6. Tính chất tĩnh......................................................................................... 68
4.6.1. Từ khóa static .................................................................................. 68
4.6.2. Biến static (static variables) trong C# .............................................. 69
4.7. Phương thức static (static methods) ...................................................... 71
4.8. Mảng đối tượng trong C# .......................................................................74
4.9. So sánh đối tượng trong C#...................................................................76
4.10. Package ............................................................................................... 81
4.11. Đặc tả truy xuất .................................................................................... 83
4.12. Tính đóng gói (Encapsulation) trong C#...............................................84
4.13. Non – Encapsulation............................................................................ 86
4.14. Quy tắc đặt tên trong C# ...................................................................... 86
BÀI TẬP ............................................................................................................ 88

