Thư viện tri thức trực tuyến
Kho tài liệu với 50,000+ tài liệu học thuật
© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Lập trình hướng đối tượng: Tài liệu tham khảo / Nguyễn Văn Thọ cb
Nội dung xem thử
Mô tả chi tiết
NGÂN HÀNG NHÀ NƯỚC VIỆT NAM
TRƯỜNG ĐẠI HỌC NGÂN HÀNG TP. HỒ CHÍ MINH
-----***-----
TÀI LIỆU THAM KHẢO
LẬP TRÌNH
HƯỚNG ĐỐI TƯỢNG
Chủ biên
ThS. Nguyễn Văn Thọ
Thành viên tham gia
ThS. Trần Duy Thanh
ThS. Phó Hải Đăng
THÀNH PHỐ HỒ CHÍ MINH – 2021
LỜI GIỚI THIỆU
Lập trình hướng đối tượng (Tiếng Anh: Object Oriented Programming) là
môn học thuộc chương trình đào tạo ngành Hệ thống thông tin quản lý – trường đại
học Ngân hàng TPHCM. Với mong muốn có một tài liệu cho các em sinh viên tham
khảo trong quá trình học tập, nhóm tác giả đã tâm huyết biên soạn tài liệu: Lập trình
hướng đối tượng với ngôn ngữ C#. Tài liệu này được viết rất cô đọng và sát với đề
cương môn học đã được phê duyệt nằm trong chương trình đào tạo của ngành Hệ
thống thông tin quản lý. Nội dung trình bày theo hướng tóm tắt lý thuyết, cho ví dụ
minh họa, hướng dẫn giải bài tập từng bước. Với mỗi ví dụ và bài tập đều in kết quả
sau khi chạy chương trình để sinh viên dễ dàng nắm bắt và thực hành. Cuối mỗi
chương có các câu hỏi ôn tập và các bài tập thực hành có hướng dẫn chi tiết, ngoài ra tài
liệu còn có các bài tập đề nghị sinh viên tự giải nhằm giúp các em nâng cao khả năng tự
học. Đính kèm theo sách này là các tập tin mã nguồn của chương trình đã được viết hoàn
chỉnh giúp người học dễ dàng theo dõi. Các bạn có thể tải các tập tin mã nguồn tại địa chỉ:
https://bitly.com.vn/4ld0sd
Nội dung tài liệu được chia thành 5 chương:
Chương 1: Tổng quan về Lập trình hướng đối tượng
Chương 2: Cơ bản về ngôn ngữ lập trình C#
Chương 3: Lớp, đối tượng và phương thức
Chương 4: Thừa kế, đa hình và phương thức ảo
Chương 5: Xây dựng ứng dụng Windows Form
Mặc dù nhóm tác giả đã cố gắng rất nhiều nhưng không tránh khỏi những thiếu
sót, rất mong nhận được ý kiến đóng góp quý báu của Quý độc giả, Quý thầy cô và
các em Sinh viên để lần ấn bản sau được hoàn chỉnh hơn.
Mọi thắc mắc và đóng góp về tài liệu, Quý độc giả vui lòng gửi mail theo địa
chỉ: thonv@buh.edu.vn
Xin chân thành cảm ơn
CÁC TÁC GIẢ
i
MỤC LỤC
CHƯƠNG 1. TỔNG QUAN VỀ LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG .....................1
1.1 Giới thiệu...........................................................................................................1
Lập trình thủ tục .........................................................................................1
Lập trình hướng đối tượng .........................................................................2
1.2 Các tính chất đặc thù lập trình hướng đối tượng cơ bản...................................3
Tính đóng gói .............................................................................................3
Tính thừa kế ...............................................................................................3
Tính đa hình ...............................................................................................3
Tính trừu tượng ..........................................................................................3
1.3 Các ngôn ngữ hỗ trợ lập trình hướng đối tượng ...............................................3
1.4 Giới thiệu về .NET............................................................................................3
Microsoft .NET là gì?.................................................................................3
Cài đặt và sử dụng công cụ lập trình Visual Studio...................................4
1.5 Câu hỏi ôn tập: ................................................................................................14
CHƯƠNG 2. CƠ BẢN VỀ NGÔN NGỮ LẬP TRÌNH C# .................................15
2.1 Các kiểu dữ liệu cơ bản trong C#....................................................................15
2.2 Biến, cách thức và quy tắc đặt tên biến...........................................................16
Khái niệm về biến: ...................................................................................16
Khai báo biến ...........................................................................................16
Quy tắc đặt tên biến..................................................................................16
2.3 Hằng số trong C# ............................................................................................17
2.4 Biểu thức .........................................................................................................17
2.5 Các phép toán trong C#...................................................................................17
Toán tử gán ..............................................................................................17
Toán tử số học ..........................................................................................17
Toán tử một ngôi......................................................................................17
Toán tử so sánh ........................................................................................18
Toán tử luận lý và điều kiện.....................................................................18
Toán tử tiền tố - hậu tố.............................................................................18
Độ ưu tiên giữa các toán tử ......................................................................19
ii
2.6 Các cấu trúc điều khiển...................................................................................19
Cấu trúc lựa chọn IF.................................................................................19
Cấu trúc lựa chọn SWITCH.....................................................................22
Các cấu trúc lặp........................................................................................25
Toán tử ba ngôi ........................................................................................33
2.7 Một số thư viện thường dùng trong C#...........................................................34
Thư viện nhập/xuất ..................................................................................34
Chuyển kiểu dữ liệu (Parse).....................................................................34
Các hàm toán học .....................................................................................34
Lấy giá trị ngẫu nhiên: Random...............................................................34
Lấy giá trị ngày tháng ..............................................................................35
2.8 Hàm trong C#..................................................................................................35
Khái niệm.................................................................................................35
Khai báo hàm ...........................................................................................35
Tham số hình thức và tham số thực .........................................................36
Truyền tham trị và tham chiếu trong hàm................................................36
2.9 Xử lý mảng......................................................................................................38
Khái niệm.................................................................................................38
Khai báo mảng 1 chiều.............................................................................38
Khởi tạo mảng..........................................................................................38
Khởi tạo và gán giá trị..............................................................................38
Truy xuất các phần tử...............................................................................38
Duyệt mảng ..............................................................................................39
Mảng nhiều chiều.....................................................................................41
Khai báo mảng 2 chiều.............................................................................41
2.10 Chuỗi và các thao tác trên chuỗi ...................................................................44
Kiểu ký tự (char)....................................................................................44
Chuyển đổi kiểu ký tự............................................................................44
Kiểu chuỗi ..............................................................................................46
2.11 Câu hỏi ôn tập ...............................................................................................48
2.12 Bài tập thực hành...........................................................................................48
2.13 Bài tập đề nghị ..............................................................................................65
CHƯƠNG 3. LỚP, ĐỐI TƯỢNG VÀ PHƯƠNG THỨC ...................................67
iii
3.1 Định nghĩa Lớp (Class) và Đối tượng (Object) ..............................................67
Đối tượng (Object)...................................................................................67
Lớp (Class)...............................................................................................69
3.2 Phương thức (Method)....................................................................................72
3.3 Không gian tên (Namespace)..........................................................................74
3.4 Đóng gói dữ liệu với thuộc tính (Property).....................................................75
3.5 Từ khóa this.....................................................................................................77
3.6 Phương thức khởi tạo và phương thức tĩnh.....................................................78
Phương thức khởi tạo (Constructor) ........................................................78
Sử dụng từ khóa static..............................................................................80
3.7 Quá tải phương thức (Overloading Method)...................................................82
3.8 Câu hỏi ôn tập .................................................................................................83
3.9 Bài tập thực hành.............................................................................................83
CHƯƠNG 4. THỪA KẾ, ĐA HÌNH VÀ PHƯƠNG THỨC ẢO......................102
4.1 Tổng quát hóa và chuyên biệt hóa ................................................................102
4.2 Sự thừa kế......................................................................................................103
Khái niệm...............................................................................................103
Cú pháp khai báo lớp dẫn xuất:..............................................................104
Gọi phương thức tạo lập của lớp cơ sở ..................................................106
Sử dụng từ khóa new..............................................................................106
4.3 Phương thức ảo (virtual method) và tính đa hình (polymorphism) ..............107
Tính đa hình ...........................................................................................107
Điều kiện để thể hiện tính đa hình: ........................................................108
4.4 Lớp trừu tượng (abstract class) và phương thức trừu tượng (abstract method)
.............................................................................................................................111
Phương thức trừu tượng .........................................................................111
Lớp trừu tượng .......................................................................................111
4.5 Giao diện (interface) .....................................................................................113
Khai báo interface ..................................................................................113
Thực hiện interface ................................................................................114
4.6 Câu hỏi ôn tập ...............................................................................................115
4.7 Bài tập thực hành...........................................................................................116
CHƯƠNG 5. XÂY DỰNG ỨNG DỤNG WINDOWS FORM..........................126
iv
5.1 Khái niệm Windows Form............................................................................126
5.2 Các ứng dụng của Windows Form................................................................127
5.3 Môi trường thiết kế .......................................................................................127
5.4 Các điều khiển (control) phổ biến.................................................................132
5.5 Thanh công cụ Toolbox ................................................................................133
Cách hiển thị thanh công cụ Toolbox ....................................................133
Cách thay đổi các control bên trong Toolbox........................................133
Cách tạo nhóm control trên Toolbox .....................................................134
Cách kéo thả các control từ Toolbox ra Windows Form.......................135
Hiệu chỉnh thuộc tính cho control thông qua công cụ Properties..........135
5.6 Cách sử dụng Taborder trên Form ................................................................136
5.7 Hộp thoại (MessageBox)...............................................................................136
Các thông số bên trong Message Box....................................................137
Xử lý kết quả trả về với Message Box...................................................137
5.8 Các điều khiển cơ bản ...................................................................................138
Nhãn (Label): .........................................................................................138
Hộp văn bản (TextBox)..........................................................................139
Nút nhấn (Button) ..................................................................................139
Hộp kiểm và nút chọn (Checkbox và RadioButton)..............................140
Hộp danh sách (ListBox) .......................................................................141
Hộp xổ (ComboBox)..............................................................................143
Danh sách kết hợp hộp kiểm (CheckedListBox) ...................................145
Danh sách ListView ...............................................................................146
5.9 Tổng quan ADO.Net và kết nối cơ sở dữ liệu với SQL................................151
Tổng quan về ADO.Net .........................................................................151
5.10 Kết nối cơ sở dữ liệu đến SQL Server ........................................................156
Cách tạo chuỗi kết nối..........................................................................156
Mở kết nối:...........................................................................................156
Đóng kết nối:........................................................................................156
Cách truy vấn dữ liệu ...........................................................................156
Cách thêm dữ liệu ................................................................................158
Cách sửa dữ liệu...................................................................................159
Cách xóa dữ liệu...................................................................................160
v
Tương tác dữ liệu với SqlDataAdapter................................................161
5.11 Bài tập thực hành.........................................................................................164
5.12 Bài tập đề nghị ............................................................................................186
5.13 Xây dựng ứng dụng tổng hợp .....................................................................188
TÀI LIỆU THAM KHẢO ....................................................................................199
vi
DANH MỤC HÌNH ẢNH
Hình 1. 1-Cấu trúc lựa chọn........................................................................................2
Hình 1. 2- Cấu trúc lặp................................................................................................2
Hình 1. 3- Giao diện chọn công cụ cài đặt..................................................................4
Hình 1. 4-Tập tin cài đặt Visual Studio ......................................................................4
Hình 1. 5-Tiến trình tải và cài đặt ứng dụng...............................................................5
Hình 1. 6 - Lựa chọn ngôn ngữ ...................................................................................5
Hình 1. 7- Chọn các gói (công cụ) cài đặt ..................................................................6
Hình 1. 8 – Chọn các gói Class Diesigner và LINQ to SQL Tools............................6
Hình 1. 9 - Tiến trình cài đặt đang diễn ra ..................................................................7
Hình 1. 10- Màn hình yêu cầu đăng nhập hệ thống ....................................................7
Hình 1. 11- Màn hình khởi động Visual Studio..........................................................8
Hình 1. 12- Màn hình hiển thị các chọn lựa tạo dự án mới ........................................8
Hình 1. 13- Tạo mới một dự án...................................................................................9
Hình 1. 14- Chọn ngôn ngữ lập trình C# ..................................................................10
Hình 1. 15-Chọn môi trường lập trình Windows......................................................11
Hình 1. 16 - Chọn môi trường Desktop và giao diện Windows ...............................11
Hình 1. 17- Đặt tên và chọn nơi lưu trữ cho dự án mới............................................12
Hình 1. 18- Màn hình thiết kế Windows Forms .......................................................13
Hình 1. 19- Giao diện Windows khi chạy chương trình ...........................................13
Hình 2. 1 - Cấu trúc lựa chọn IF ...............................................................................19
Hình 2. 2- Kết quả kiểm tra số âm-dương.................................................................20
Hình 2. 3- Cấu trúc lựa chọn IF (dạng 2)..................................................................20
Hình 2. 4-Kết quả kiểm tra số âm - dương................................................................21
Hình 2. 5- Kết quả kiểm tra số ngày trong tháng......................................................22
Hình 2. 6 - Lưu đồ cú pháp Switch ...........................................................................23
Hình 2. 7- Kết quả kiểm tra số chẵn - lẻ ...................................................................24
Hình 2. 8-Kết quả thực hiện phép toán .....................................................................25
Hình 2. 9 - Lưu đồ cấu trúc While ............................................................................26
Hình 2. 10- Kết quả phép toán tính giai thừa áp dụng cấu trúc While .....................27
Hình 2. 11- Kết quả phép tính sử dụng While ..........................................................27
Hình 2. 12- Lưu đồ cấu trúc do...while .....................................................................28
Hình 2. 13- Lưu đồ cấu trúc For ...............................................................................29
Hình 2. 14- Kết quả phép tính giai thừa sử dụng For ...............................................30
Hình 2. 15- Kết quả tính tổng số lẻ sử dụng Foreach ...............................................31
Hình 2. 16- Kết quả tính tổng các số nguyên............................................................32
Hình 2. 17- Tính tổng các số dương..........................................................................33
Hình 2. 18- Kết quả thực hiện nhập xuất mảng một chiều .......................................40
Hình 2. 19- Kết quả nhập xuất mảng một chiều tự động ngẫu nhiên .......................41
Hình 2. 20- Kết quả nhập xuất mảng 2 chiều tự động ..............................................43
Hình 2. 21- Kết quả kiểm phép toán kiểm tra ký tự..................................................44
vii
Hình 3. 1- Một đối tượng phần mềm[Nguồn internet]..............................................67
Hình 3. 2- Objects và Class[Nguồn internet]............................................................70
Hình 3. 3- Lớp và các phương thức [Nguồn internet]...............................................70
Hình 3. 4- Sự thừa kế [Nguồn internet] ....................................................................71
Hình 3. 5- Kết quả tính chu vi và diện tích hình chữ nhật........................................74
Hình 3. 6- Sử dụng thuộc tính set và get...................................................................77
Hình 3. 7- Sử dụng hàm tạo (constructor).................................................................80
Hình 3. 8- Sử dụng từ khóa Static.............................................................................82
Hình 4. 1- Quan hệ giữa chuyên biệt hóa và tổng quát hóa....................................102
Hình 4. 2- Mô tả quan hệ 2 lớp thừa kế [nguồn internet] .......................................103
Hình 4. 3 - Sự thừa kế các điều khiển windows [Nguồn Microsoft]......................104
Hình 4. 4 - Sự thừa kế các lớp hình học [Nguồn internet]......................................104
Hình 4. 5- Kết quả khi thừa kế các lớp điểm ..........................................................105
Hình 4. 6- Tính đa hình [Nguồn internet] ...............................................................108
Hình 4. 7- Kết quả sử dụng các lớp thừa kế hình học.............................................113
Hình 4. 8- Kết quả thực thi giao diện (interface)....................................................115
Hình 5. 1- Ví dụ về Windows Form........................................................................126
Hình 5. 2- Tạo một dự án bằng Windows Form .....................................................127
Hình 5. 3- Tạo dự án và lựa chọn môi trường thực thi ...........................................128
Hình 5. 4- Thông tin dự án mới trước khi tạo.........................................................129
Hình 5. 5- Giao diện thiết kế Windows form..........................................................130
Hình 5. 6- Giao diện thiết kế và thuộc tính điều khiển ...........................................130
Hình 5. 7- Màn hình dòng lệnh (code)....................................................................131
Hình 5. 8- Các sự kiện của Form ............................................................................132
Hình 5. 9- Các điều khiển Windows [Nguồn Microsoft]........................................132
Hình 5. 10- Cách hiển thị hộp công cụ (Toolbox) ..................................................133
Hình 5. 11- Thay đổi điều khiển Windows.............................................................134
Hình 5. 12-Cách nhóm các điều khiển....................................................................134
Hình 5. 13-Một nhóm các điều khiển .....................................................................135
Hình 5. 14-Kéo thả điều khiển vào Form................................................................135
Hình 5. 15-Hiệu chỉnh thuộc tính của điều khiển ...................................................135
Hình 5. 16-Cách sử dụng Tab Order.......................................................................136
Hình 5. 17- Giao diện khi thiết lập Tab Order........................................................136
Hình 5. 18- Hộp thoại thông điệp............................................................................137
Hình 5. 19- Kết quả xử lý Message Box.................................................................138
Hình 5. 20- Vẽ điều khiển label vào form...............................................................138
Hình 5. 21-Vẽ điều khiển Textbox vào form..........................................................139
Hình 5. 22- Kéo điều khiển Button vào Form.........................................................139
viii
Hình 5. 23- Thiết kế giao diện với các điều khiển..................................................140
Hình 5. 24-Điều khiển checkbox ............................................................................140
Hình 5. 25-Điều khiển RadioButton .......................................................................140
Hình 5. 26-Điều khiển checkbox và Radiobutton...................................................141
Hình 5. 27-Điều khiển Listbox................................................................................141
Hình 5. 28- Thiết kế form với điều khiển Listbox ..................................................142
Hình 5. 29- Nhập các mục nội dung cho Listbox ...................................................143
Hình 5. 30-Thiết kế form sử dụng Listbox .............................................................143
Hình 5. 31-Điều khiển ComboBox .........................................................................143
Hình 5. 32-Nhập dữ liệu cho ComboBox ...............................................................144
Hình 5. 33-Giao diện có sử dụng ComboBox.........................................................145
Hình 5. 34-Điều khiển CheckedListBox.................................................................145
Hình 5. 35-Giao diện CheckListBox[Nguồn internet]............................................145
Hình 5. 36-Sự kiện của CheckedListBox [Nguồn internet]....................................146
Hình 5. 37-Điều khiển ListView.............................................................................146
Hình 5. 38-Kéo thả ListView..................................................................................147
Hình 5. 39-Đặt tên cho ListView ............................................................................148
Hình 5. 40-Chọn Columns để tạo cột cho ListView...............................................148
Hình 5. 41-Tạo cột cho ListView............................................................................148
Hình 5. 42-Chế độ Details cho ListView................................................................149
Hình 5. 43-Chọn Items để dòng cho ListView .......................................................149
Hình 5. 44-Thêm dòng cho ListView .....................................................................150
Hình 5. 45-Kiến trúc .Net Data Provider [Nguồn Microsoft].................................152
Hình 5. 46-SQLConnection [Nguồn Microsoft].....................................................152
Hình 5. 47-Mô hình của SQL Parameter[Nguồn Microsoft]..................................153
Hình 5. 48- Mô hình SqlDataReader[Nguồn Microsoft]........................................154
Hình 5. 49-Kiến trúc Dataset [Nguồn csharp.net-informations.com].....................154
Hình 5. 50-SqlDataAdapter [Nguồn Microsoft] .....................................................155
Hình 5. 51- Mô hình DataAdapter [Nguồn Microsoft]...........................................155
Hình 5. 52-Các cách tạo chuỗi kết nối....................................................................156
Hình 5. 53-Nạp dữ liệu vào Dataset........................................................................161
Hình 5. 54-Minh họa việc chỉnh sửa dữ liệu...........................................................162
ix
DANH MỤC BẢNG
Bảng 2. 1- Phạm vi các biến[Nguồn Microsoft].......................................................15
Bảng 2. 2-Các toán tử................................................................................................17
Bảng 2. 3-Toán tử số học ..........................................................................................17
Bảng 2. 4-Toán tử một ngôi ......................................................................................17
Bảng 2. 5- Toán tử so sánh........................................................................................18
Bảng 2. 6-Toán tử luận lý và điều kiện.....................................................................18
Bảng 2. 7-Toán tử tiền tố và hậu tố...........................................................................18
Bảng 2. 8 - Độ ưu tiên của các toán tử......................................................................19
Bảng 5. 1- Các thuộc tính của Form .......................................................................131
Bảng 5. 2- Các thông số của Message box .............................................................137
Bảng 5. 3- Thuộc tính của label ..............................................................................138
Bảng 5. 4-Thuộc tính quan trọng của Textbox .......................................................139
Bảng 5. 5- Các thuộc tính quan trọng của Button...................................................139
Bảng 5. 6- Các thuộc tính của RadioButton............................................................141
Bảng 5. 7- Các thuộc tính của Listbox....................................................................142
Bảng 5. 8-Các thuộc tính của Listbox.....................................................................142
Bảng 5. 9- Các thuộc tính của ComboBox..............................................................143
Bảng 5. 10-Các phương thức của ComboBox ........................................................144
Bảng 5. 11-Thuộc tính của ListView......................................................................147
x
DANH MỤC TỪ KHÓA
Tiếng Anh Tiếng Việt
Class Lớp
Child class Lớp con
Object Đối tượng
Encapsulation Tính đóng gói, che giấu
Inheritance Tính thừa kế
Pholymorphism Tính đa hình
Console Giao diện dòng lệnh
Abstract Trừu tượng
Windows Forms Giao diện Windows
Solution name Tên giải pháp
Control Điều khiển
Constant Hằng
Operator Toán tử
Expression Biểu thức
Statement Câu lệnh
Method Phương thức
Namespace Không gian tên
Property Thuộc tính
Interface Giao diện
Deskop application ứng dụng cài đặt không dùng Web
Web Application ứng dụng web
Project Dự án
Platform Nền tảng
Interface Giao diện, khuôn mẫu
CHƯƠNG 1 - TỔNG QUAN VỀ LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
1
CHƯƠNG 1. TỔNG QUAN VỀ LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
Trong chương này, người học sẽ làm quen với một số khái niệm cơ bản về lập
trình thủ tục và lập trình hướng đối tượng, có sự so sánh cơ bản về hai phương pháp
lập trình này, nắm bắt các nguyên tắc trong lập trình hướng đối tượng, các ngôn ngữ
hỗ trợ lập trình hướng đối tượng. Giới thiệu về Microsoft.NET, cài đặt và sử dụng
Visual Studio.
Nội dung:
- Lập trình thủ tục và lập trình hướng đối tượng
- Các nguyên tắc lập trình hướng đối tượng
- Các ngôn ngữ hỗ trợ lập trình hướng đối tượng
- Giới thiệu về Microsoft.NET
- Cài đặt và sử dụng công cụ lập trình Visual Studio
1.1 Giới thiệu
Lập trình thủ tục
Phương pháp lập trình thủ tục
Chương trình là một hệ thống các thủ tục và hàm
Mỗi thủ tục hay mỗi hàm sẽ thực hiện những công việc nào đó
Chương trình sẽ gọi các thủ tục hay các hàm để giải quyết vấn đề
Ưu điểm
- Chương trình rõ ràng, dễ hiểu, dễ theo dõi.
- Tư duy giải thuật rõ ràng, dễ cài đặt.
Khuyết điểm
- Các hàm đều sử dụng biến toàn cục, dữ liệu (tham số) phải truyền qua rất nhiều
hàm trung gian trước khi thực hiện công việc, vì vậy khó kiểm soát và phát
triển khi chương trình quá lớn.
- Khi thay đổi cấu trúc dữ liệu, phải thay đổi giải thuật.
Các cấu trúc sử dụng trong lập trình thủ tục:
Hiện nay có ba cấu trúc điều khiển thông dụng để viết chương trình:
- Cấu trúc tuần tự (sequence): Các lệnh trong cấu trúc này lần lược được
thực hiện theo trình tự từng dòng lệnh, lệnh 1 lệnh 2 lệnh 3 lệnh n…
- Cấu trúc lựa chọn (selection): Một điều kiện sẽ được kiểm tra trước khi
chuyển hướng xử lý theo nhánh lệnh 1 hay nhánh lệnh 2
CHƯƠNG 1 - TỔNG QUAN VỀ LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
2
Hình 1. 1-Cấu trúc lựa chọn
- Cấu trúc lặp (iteration): Một nhóm lệnh sẽ được thực hiện lặp đi lặp lại cho
tới khi điều kiện được kiểm tra không còn đúng nữa.
Hình 1. 2- Cấu trúc lặp
Lập trình hướng đối tượng
• Lập trình hướng đối tượng là xây dựng những lớp đối tượng làm nền tảng để
xây dựng chương trình. Đối tượng là sự liên kết giữa dữ liệu và phương thức
thực hiện trên dữ liệu này.
• Lập trình hướng đối tượng là phương pháp lập trình dựa trên kiến trúc lớp
(class) và đối tượng (object).
Đặc điểm cơ bản
Tập trung vào dữ liệu thay cho các hàm.
Chương trình được chia thành các đối tượng độc lập.
Cấu trúc dữ liệu được thiết kế sao cho đặc tả được các đối tượng.
Dữ liệu bên trong mỗi đối tượng được bảo mật.
Các đối tượng trao đổi với nhau thông qua các hàm.
Chương trình được thiết kế theo hướng tiếp cận từ dưới lên.
Một số ưu điểm nổi bật
Không có nguy cơ dữ liệu bị thay đổi tự do trong chương trình.
Khi thay đổi cấu trúc dữ liệu của một đối tượng, không cần thay đổi mã nguồn
của các đối tượng khác.
CHƯƠNG 1 - TỔNG QUAN VỀ LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
3
Có thể sử dụng lại mã nguồn, tiết kiệm tài nguyên.
Phù hợp với các dự án phần mềm lớn, phức tạp.
1.2 Các tính chất đặc thù lập trình hướng đối tượng cơ bản
Tính đóng gói
Tính đóng gói (Encapsulation): Khả năng bảo vệ dữ liệu riêng biệt và
phương thức tác động lên dữ liệu đó. Do vậy chúng ta không phải quan tâm tới “phải
làm như thế nào” mà chỉ điều khiển bằng “làm việc gì”. Đóng gói giúp đồng nhất
giữa dữ liệu và các thao tác tác động lên dữ liệu đó.
Tính thừa kế
Thừa kế (inheritance): Giúp tạo đối tượng mới từ đối tượng có sẵn, bổ sung
những đặc tính cần thiết trong đối tượng mới.
Lớp đối tượng đã có được sử dụng lại gọi là lớp cơ sở.
Lớp thừa kế lớp cơ sở gọi là lớp dẫn xuất (Child class).
Tính đa hình
Tính đa hình (pholymorphism): Đa hình nghĩa là có nhiều hình thái khác
nhau. Đa hình xuất hiện khi có một cấu trúc cấp bậc của các lớp và chúng liên quan
với nhau bởi tính thừa kế.
Tính trừu tượng
Tính trừu tượng (abstraction): Thể hiện tính tổng quát hóa lên một vấn đề
mà không cần quan tâm đến các chi tiết bên trong. Là phương pháp trừu tượng hóa
định nghĩa lên những hành động, tính chất của loại đối tượng nào đó cần phải có.
1.3 Các ngôn ngữ hỗ trợ lập trình hướng đối tượng
C++
C#, VB.Net, J#, VC++
Java
JavaScript
PHP…
1.4 Giới thiệu về .NET
Microsoft .NET là gì?
.Net hay còn được gọi đầy đủ là .NET framework, chứa một bộ thư viện rất
lớn các loại công cụ khác nhau giúp người lập trình xử lý được hầu hết các công việc
thường gặp trong quá trình phát triển ứng dụng do Microsoft phát triển. Vì vậy, lập
trình ứng dụng với .NET framework thường có hiệu quả rất cao và thời gian làm việc
ngắn hơn. Một số công nghệ trong .NET framework được hỗ trợ: