Bài giảng Ngôn ngữ lập trình nâng cao - Bài 3 - Lý Anh Tuấn

Khái niệm về lớp và đối tượng

Thiết kế các thuộc tính và hành động của lớp

Cài đặt các phương thức

- Truy xuất và cập nhật dữ liệu (get-set)

- Nạp chồng phương thức (overload)

- Hàm tạo (constructor)

- Nạp chồng toán tử (operator)

- Ghi đè phương thức có sẵn (override)

Bài giảng Ngôn ngữ lập trình nâng cao - Bài 3 - Lý Anh Tuấn trang 1

Trang 1

Bài giảng Ngôn ngữ lập trình nâng cao - Bài 3 - Lý Anh Tuấn trang 2

Trang 2

Bài giảng Ngôn ngữ lập trình nâng cao - Bài 3 - Lý Anh Tuấn trang 3

Trang 3

Bài giảng Ngôn ngữ lập trình nâng cao - Bài 3 - Lý Anh Tuấn trang 4

Trang 4

Bài giảng Ngôn ngữ lập trình nâng cao - Bài 3 - Lý Anh Tuấn trang 5

Trang 5

Bài giảng Ngôn ngữ lập trình nâng cao - Bài 3 - Lý Anh Tuấn trang 6

Trang 6

Bài giảng Ngôn ngữ lập trình nâng cao - Bài 3 - Lý Anh Tuấn trang 7

Trang 7

Bài giảng Ngôn ngữ lập trình nâng cao - Bài 3 - Lý Anh Tuấn trang 8

Trang 8

Bài giảng Ngôn ngữ lập trình nâng cao - Bài 3 - Lý Anh Tuấn trang 9

Trang 9

Bài giảng Ngôn ngữ lập trình nâng cao - Bài 3 - Lý Anh Tuấn trang 10

Trang 10

Tải về để xem bản đầy đủ

pdf 48 trang Danh Thịnh 09/01/2024 5120
Bạn đang xem 10 trang mẫu của tài liệu "Bài giảng Ngôn ngữ lập trình nâng cao - Bài 3 - Lý Anh Tuấn", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Ngôn ngữ lập trình nâng cao - Bài 3 - Lý Anh Tuấn

Bài giảng Ngôn ngữ lập trình nâng cao - Bài 3 - Lý Anh Tuấn
Slide 1 of 25 Ver. 1.0 
Object-Oriented Programming Using C# 
NGÔN NGỮ LẬP TRÌNH NÂNG CAO 
Slide 2 of 25 Ver. 1.0 
Object-Oriented Programming Using C# 
Khái niệm về lớp và đối tượng 
Thiết kế các thuộc tính và hành động của 
lớp 
Cài đặt các phương thức 
- Truy xuất và cập nhật dữ liệu (get-set) 
- Nạp chồng phương thức (overload) 
- Hàm tạo (constructor) 
- Nạp chồng toán tử (operator) 
- Ghi đè phương thức có sẵn (override) 
Nội dung 
Slide 3 of 25 Ver. 1.0 
Object-Oriented Programming Using C# 
• 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 
• Đối tượng: Thể hiện (instance) cụ thể của một 
lớp đối tượng 
Khái niệm 
Slide 4 of 25 Ver. 1.0 
Object-Oriented Programming Using C# 
VD: 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 
Khái niệm 
Slide 5 of 25 Ver. 1.0 
Object-Oriented Programming Using C# 
Đối tượng trong lập trình hướng đối tượng 
Tách biệt giữa giao tiếp và cài đặt cụ thể 
interface 
Implementation 
Làm cái gì? 
Làm bằng cách 
nào? 
Slide 6 of 25 Ver. 1.0 
Object-Oriented Programming Using C# 
Một cách thể hiện điển hình 
Che giấu dữ liệu và các “giải thuật” cụ thể ở bên 
trong lớp (class) 
Slide 7 of 25 Ver. 1.0 
Object-Oriented Programming Using C# 
Cú pháp định nghĩa lớp 
 class 
{ 
 các thuộc tính; 
 phương thức () 
 { 
 Cài đặt 
 } 
} 
Slide 8 of 25 Ver. 1.0 
Object-Oriented Programming Using C# 
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. 
Slide 9 of 25 Ver. 1.0 
Object-Oriented Programming Using C# 
VD: Đị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() 
 { } 
} 
Slide 10 of 25 Ver. 1.0 
Object-Oriented Programming Using C# 
Tạo và sử dụng đối tượng 
 Tạo đối tượng 
 TênĐốiTượng = new (); 
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(); 
Slide 11 of 25 Ver. 1.0 
Object-Oriented Programming Using C# 
Ví dụ 
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); 
 } 
} 
Nhập họ tên, điểm văn và điểm toán của 1 học sinh. Tính điểm TB và in kết quả: 
Slide 12 of 25 Ver. 1.0 
Object-Oriented Programming Using C# 
Ví dụ 
 class Program 
 { 
 static void Main(string[] args) 
 { 
 HOCSINH hsA = new HOCSINH(); 
 hsA.Nhap(); 
 hsA.Xuat(); 
 } 
 } 
Kết quả: 
Slide 13 of 25 Ver. 1.0 
Object-Oriented Programming Using 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. 
VD: 
 “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. 
Ràng buộc 
Slide 14 of 25 Ver. 1.0 
Object-Oriented Programming Using C# 
Gồm 2 loại: 
 Ràng buộc trên thuộc tính (Ràng buộc miền giá trị) 
 Ràng buộc liên thuộc tính 
VD: 
 Điểm toán của sinh viên phải nằm trong miền giá trị từ 
0 đến 10: 0 ≤ toan ≤ 10 Ràng buộc trên thuộc tính 
 Nếu là tháng 2 và là năm nhuận thì tháng có 29 ngày, 
nếu là tháng 2 và không phải năm nhuận thì tháng có 
28 ngày Ràng buộc liên thuộc tính 
Ràng buộc tĩnh 
Slide 15 of 25 Ver. 1.0 
Object-Oriented Programming Using C# 
1. Nhóm kiểm tra ràng buộc: Kiểm tra tính hợp lệ giá 
trị thuộc tính của đối tượng 
2. Nhóm khởi tạo: Cung cấp giá trị ban đầu cho đối 
tượng 
3. Nhóm cập nhật: Thay đổi giá trị thuộc tính của đối 
tượng 
4. Nhóm xử lý tính toán: Xử lý tính toán các yêu cầu từ 
thông tin của đối tượng 
5. Nhóm cung cấp thông tin: Cung cấp thuộc tính nội 
bộ của đối tượng 
Các hành động của lớp 
Slide 16 of 25 Ver. 1.0 
Object-Oriented Programming Using C# 
2. Khởi tạo 
3. Cập nhật 
4. Xử lý, tính toán 
5. Cung cấp thông tin 
1. Kiểm tra ràng buộc 
Các hành động của lớp 
Slide 17 of 25 Ver. 1.0 
Object-Oriented Programming Using C# 
• Giá trị trả về 
– true: Thoả ràng buộc. 
– false: Không thoả ràng buộc. 
• Tham số 
– Ràng buộc miền giá trị: Chỉ có 1 tham số ứng với 
tham số cần kiểm tra. 
– Ràng buộc liên thuộc tính: Có tham số là các thuộc 
tính liên quan. 
Mẫu: public bool KiemTra... ( tham số ) 
Thiết kế phương thức ràng buộc 
Slide 18 of 25 Ver. 1.0 
Object-Oriented Programming Using C# 
• Tên phương thức 
 Bắt đầu bằng chữ KiemTra 
– Ràng buộc miền giá trị: Ghép thêm tên thuộc tính 
– Ràng buộc liên thuộc tính: Ghép thêm số thứ tự 
ràng buộc 
Thiết kế phương thức ràng buộc 
Slide 19 of 25 Ver. 1.0 
Object-Oriented Programming Using C# 
VD: Phương thức kiểm tra ràng buộc cho lớp CHocSinh 
public class CHocSinh 
{ 
 private string hoten; 
 private int toan, van; 
 private float dtb; 
 public bool KiemTraDiem (int d); 
 public void Nhap() 
 { } 
 public void Xuat() 
 { } 
} 
Slide 20 of 25 Ver. 1.0 
Object-Oriented Programming Using C# 
• Cá

File đính kèm:

  • pdfbai_giang_cong_nghe_phan_mem_bai_3_ly_anh_tuan.pdf