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 đủ
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:
bai_giang_lap_trinh_dotnet_chuong_3_lap_trinh_huong_doi_tuon.pdf

