Bài giảng Lập trình DOTNET - Chương 3: Lập trình hướng đối tượng với C# - Huỳnh Lê Uyên Minh

CHƯƠNG 3: LẬP TRÌNH HƯỚNG  
ĐỐI TƯỢNG VỚI C#  
Môn học: Lập trình DOTNET  
Giảng viên: Huỳnh Lê Uyên Minh  
Khoa: Sư phạm Toán – Tin, ĐH Đồng Tháp  
1
NỘI DUNG  
1. Phương pháp lập trình hướng đối tượng  
2. Định nghĩa lớp - class  
3. Tạo đối tượng - Object  
1. Phương pháp lập trình hướng đối tượng  
• Chương trꢀnh lꢁ mꢂt hꢃ thống nhꢄng lớp đối tượng. Mꢅi  
mꢂt lớp đối tượng vꢆ mꢇt thꢈc tꢉ tương ꢊng với nhꢄng  
đối tượng cꢋ xuꢌt hiꢃn trong thꢈc tꢉ.  
• LT hướng đối tượng lꢁ xây dꢈng nhꢄng lớp đối tượng vꢁ  
yêu cꢍu chꢎng thꢈc hiꢃn nhꢄng trách nhiꢃm cꢏa mꢀnh.  
• LT hướng đối tượng là phương pháp LT dꢈa trên kiꢉn  
trúc lớp (class) và đối tượng (object)  
3
Đối tượng là gì ?  
Đối tượng trong thꢉ giới thꢈc: là mꢂt thꢈc thể cụ thể mà  
ta có thể sờ, nhìn thꢌy hay cảm nhận được.  
Đối tượng phꢍn mꢆm: dùng để biểu diễn các đối tượng  
trong thꢉ giới thꢈc.  
Mꢅi đối tượng bao gồm 2 thành phꢍn: thuꢂc tính và hành  
đꢂng.  
4
Đối tượng là gì ?  
Ví dụ: mꢂt người A  
• Mꢂt người có các thuꢂc tính: tên, tuổi, địa chỉ,  
màu mắt, …  
• Các hành đꢂng: đi, nói, thở, …  
Một đối tượng là 1 thực thể bao gồm  
thuộc tính & hành động  
5
Lớp đối tượng là gì ?  
• Lớp đối tượng thể hiꢃn cho mꢂt nhóm các đối  
tượng giống nhau (cùng thuꢂc tính & hành đꢂng)  
• Ví dụ: học sinh A, học sinh B, học sinh C…  
6
Thiết kế phần mềm hướng đối tượng  
. Trừu tượng hóa dữ liệu và các hàm/ thủ tục liên  
quan  
. Chia hệ thống ra thành các lớp/ đối tượng  
. Mỗi lớp/ đối tượng có các tính năng và hành  
động chuyên biệt  
. Các lớp có thể được sử dụng để tạo ra nhiều  
đối tượng cụ thể  
7
Sự trừu tượng hoá  
Thế giới thực  
Trừu tượng hóa  
Phần mềm  
Dꢄ liꢃu  
Thuꢂc tính  
Thꢈc thể  
Hꢁnh đꢂng  
hàm  
8
Một số khái niệm  
Thế giới thực  
PPLT  
Ngôn ngữ lập trình  
Biꢀn cꢂ kiểu cꢃu trꢄc  
Đối tượng trong thꢀ giới thꢁc Đối tượng  
Khꢅi niệm chung về đối tượng Lớp đối tượng Kiểu dữ liệu cꢃu trꢄc  
Cꢅc thông tin được quan tâm Thuộc tꢆnh  
về 1 đối tượng  
Thꢇnh phꢈn thuộc  
tꢆnh của kiểu cꢃu trꢄc  
Cꢅc khꢉ năng của đối tượng Hꢇnh động Cꢅc phương thức  
Phân công giữa cꢅc đối tượng Yêu cꢈu  
Gꢊi thꢁc hiện  
phương thức  
9
2. Định nghĩa Lớp - Class  
. Lớp đối tượng: Định nghĩa các đặc điểm/ thông tin (thuộc tính) và hành động/  
chức năng/ (phương thức) chung cho tꢃt cꢉ các đối tượng của cùng một loại.  
Ví dụ: Lớp SINHVIEN gồm  
. Thuộc tính: Hꢊ tên, giới tính, ngày tháng năm sinh, điểm tb, đối tượng ưu  
tiên, ...  
. Phương thức: Hꢊc bài, làm bài thi, bài tập, ...  
Sinh viên Nguyễn Văn A, Lý Thị B là đối tượng thuộc lớp SINHVIEN  
10  
Cú pháp định nghĩa lớp (class)  
<từ khóa truy xuꢃt> class <TênLớp>  
{
<từ khóa truy xuꢃt> các thuộc tính;  
<từ khóa truy xuꢃt> phương thức ()  
{
Cài đặt  
}
}
11  
Từ khóa truy xuất  
. private (mặc định): Truy xuꢃt trong nội bộ  
lớp (thường sử dụng cho thuộc tính).  
. protected: Truy xuꢃt trong nội bộ lớp/ lớp  
con (được sử dụng cho lớp cơ sở)  
. public: Truy xuꢃt mꢊi nơi (thường sử dụng  
cho phương thức).  
. static: truy xuꢃt không cꢈn khởi tạo đối  
tượng của lớp.  
12  
Ví dụ: định nghĩa lớp CHocSinh  
public class CHocSinh  
{
private string hoten;  
private int toan, van;  
private float dtb;  
public void Nhap()  
{ }  
public void Xuat()  
{ }  
}
13  
3. Đối tượng, Tạo và sử dụng đối tượng  
. Đối tượng: Thể hiện (instance) cụ thể của một  
lớp đối tượng.  
. Tạo đối tượng  
<TênLớp> TênĐốiTượng = new <TênLớp>();  
VD: HOCSINH hsA = new HOCSINH();  
. Sử dụng đối tượng  
TênĐốiTượng.TênPhươngThức([tham số]);  
VD: hsA.Nhap();  
hsA.Xuat();  
14  
Ví dụ: Nhập vào họ tên, điểm văn và điểm toán của 1  
học sinh. Tính điểm trung bình và in kết quả  
public class HOCSINH  
{
private string hoten;  
private int toan, van;  
private float dtb;  
public void Nhap()  
{
Console.Write("Nhap ho ten: "); hoten = Console.ReadLine();  
Console.Write("Nhap diem van: "); van = int.Parse(Console.ReadLine());  
Console.Write("Nhap diem toan: "); toan = int.Parse(Console.ReadLine());  
dtb = (float)(toan + van) / 2;  
}
public void Xuat()  
{
Console.WriteLine("Diem trung binh: {0:0.00}", dtb);  
}
}
15  
class Program  
{
static void Main(string[] args)  
{
HOCSINH hsA = new HOCSINH();  
hsA.Nhap();  
hsA.Xuat();  
}
}
Kꢀt quꢉ:  
16  
4. Thiết kế thuộc tính  
Đối với mꢅi đối tượng, xác định các thông tin cꢍn lưu trꢄ. Sau đꢋ lập bảng  
mô tả thuꢂc tính như sau:  
Stt Thuộc tính Kiểu/ lớp Ràng buộc Diễn giꢉi  
Nꢀu có ràng buộc liên thuộc tính thì lập thêm bꢉng  
sau:  
Thuộc tính  
Stt Mô tꢉ ràng buộc  
Ghi chú  
liên quan  
17  
Ràng buộc  
Rꢁng buꢂc trên lớp lꢁ các quy định, quy tắc áp đꢇt trên các  
giá trị thuꢂc tính cꢏa đối tượng trong lớp, sao cho đối tượng  
nꢁy thể hiꢃn đꢎng với thꢈc tꢉ.  
• Rꢁng buꢂc tĩnh: rꢁng buꢂc trên giá trị thuꢂc tính.  
• Rꢁng buꢂc đꢂng: rꢁng buꢂc trên biꢉn đổi giá trị thuꢂc tính.  
Ví dụ:  
• “Lương cꢏa nhân viên ít nhꢌt lꢁ 1.500.000 đồng” Rꢁng  
buꢂc tĩnh.  
• “Lương cꢏa nhân viên chỉ cꢋ thể tăng” Rꢁng buꢂc đꢂng.  
18  
Ràng buộc tĩnh  
Gồm 2 loại:  
• Rꢁng buꢂc trên thuꢂc tính (Rꢁng buꢂc MGT)  
• Rꢁng buꢂc liên thuꢂc tính  
19  
VD1: Xét lớp điểm ký tự (CDiemKT) trên cửa sổ Console  
Thuộc  
Stt  
Kiểu/ lớp Ràng buộc Diễn giꢉi  
0 ≤ x < Kích  
tính  
1 x Số nguyên  
2 y Số nguyên  
3 ch Ký tꢁ  
Cột  
thước ngang  
0 ≤ y < Kích  
thước dꢊc  
Dòng  
Ký tꢁ  
hiển thị  
20  
Tải về để xem bản đầy đủ
pdf 36 trang yennguyen 11221 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Lập trình DOTNET - Chương 3: Lập trình hướng đối tượng với C# - Huỳnh Lê Uyên Minh", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_lap_trinh_dotnet_chuong_3_lap_trinh_huong_doi_tuon.pdf