Bài giảng Lập trình hướng đối tượng Chương 3 Phương thức cung cấp cho người học các kiến thức Tạo Method (phương thức), method overloading, tham số của method, tái sử dụng code trong các constructor. Mời các bạn cùng tham khảo.
Trang 1Click to edit Master subtitle style
Trang 2Tạo Method (phương thức)
Method overloading
Tham số của method
Optional parameters Named parameters
Số lượng tham số không cố định
Từ khóa out, ref
Tái sử dụng code trong các constructor
NỘI DUNG
2
Trang 3TẠO METHOD
3
Trang 4Method là một đoạn mã làm một nhiệm vụ gì
đó (với dữ liệu đã có)
Thuận lợi
Tái sử dụng code Phân chia công việc
Dễ định vị lỗi Tiết kiệm thời gian
Ý tưởng của method
4
Trang 5Tạo method
Dùng method (calling)
Lấy kết quả (dữ liệu) từ method => output
Gửi dữ liệu vào method => input
Cơ bản về method
5
Trang 6Tạo method
6
Một method phải nằm trong một lớp
Trang 7Dùng method (calling)
7
Trang 8Bài tập thực hành số 3.1
VCT tạo lớp TaiKhoan (Account) với thông
tin như sau:
Trang 9- Dia chi: 155 Su van Hanh, F13, Q10
Sau đó xuất thông tin này ra màn hình
9
Trang 10Ý nghĩa: Method làm một nhiệm vụ gì đó, làm
Cách làm:
Thay void bằng int , double , string , … Trong thân method, dùng lệnh return để trả về một kết quả/giá trị (giá trị nằm sau lệnh return)
Lấy kết quả (dữ liệu) từ method
10
Trang 11Lấy kết quả (dữ liệu) từ method
11
Trang 12Lấy kết quả (dữ liệu) từ method
12
Trang 14Ý nghĩa: Method cần thêm thông tin do bên
ngoài cung cấp mới thực hiện được
Gửi dữ liệu vào method
14
Trang 15Gửi dữ liệu vào method
15
Trang 16- Tính giá bán sách = Giá sách – giá giảm
- Xuất kết quả vừa tính ra màn hình
16
Trang 17METHOD OVERLOADING
17
Trang 18C# cho phép tạo ra nhiều method có cùng tên
Làm sao nhiều method có cùng tên được?
Hai phương thức cùng tên Không có cùng signature
Overloading
Benjamin Franklin Barack Obama
18
Trang 19Signature
của method
Tên method
Loại kiểu, thứ tự kiểu
và số lượng kiểu của các tham số
Overloading
19
Trang 2020
Trang 2121
Trang 22- Tính giá bán n quyển sách có giảm giá
- Xuất kết quả vừa tính ra màn hình
22
Trang 23THAM SỐ CỦA METHOD
23
Trang 24Optional parameter
24
Trang 25Optional parameter
25
Trang 26public int TinhGiaBan(int giagiam, int n=1);
- Xuất kết quả vừa tính ra màn hình
26
Trang 27Khi dùng named parameter, thứ tự tham số
return value;
} Clamp(20, 50, 100);
Clamp( min: 50, max: 100, value: 20);
Trang 28Số lượng tham số không xác định
Trang 29Từ khóa ‘out’, ‘ref’
Trang 30Phương thức với tham số ref, out, params
public int Swap(ref int a, ref int b)
for (int i=0; i<a.Length; i++)
sum = sum + a[i];
return sum;
}
obj.Swap(ref x, ref y);
obj.Calculation(a, b, out res1, out res2); res = obj.Sum(1,2);
Trang 31TÁI SỬ DỤNG CODE
TRONG CÁC CONSTRUCTOR
31
Trang 32Khi các constructors có những đoạn mã giống
nhau, làm thế nào để tránh các đoạn mã viết
lặp lại?
Một số cách
Cách 1: Phần code được dùng nhiều lần
• Tách ra một hàm (gán nhãn cho nó private)
• Các constructors gọi hàm trên
Tái sử dụng code trong các constructor
32
Trang 33Cách 2: Các constructor có thể gọi lẫn nhau thông qua từ khóa this
Tái sử dụng code trong các constructor
public class Manager {
public int Grade { get; set; } public string Name { get; set; }
public Manager() : this("N/A", 0)
33
Trang 34Ôn lại cách viết method
Xml documentations comments (giải thích trên Visual studio)
Method overloading
Nhiều method có cùng tên nhưng khác signature
Tham số method: optional parameters, named parameter, số lượng
tham số không cố định (params), ref, out
Tái sử dụng code trong các constructor
Tách code dùng nhiều lần thành một private method
Dùng từ khóa this để gọi các constructors trong lớp
TÓM TẮT
34
Trang 36Bài tập thực hành số 3.7
VCT tạo lớp ToaDo điểm trong mặt phẳng
Oxy với thông tin như sau:
- Hoành độ x
- Tung độ: y
Sau đó
- Nhập tọa độ cho điểm A(2,4).
- Kiểm tra điểm A thuộc góc tư nào?
- Xuất kết quả vừa kiểm tra ra màn hình
36
I II
Trang 38Bài tập thực hành số 3.9
VCT tạo lớp ToaDo điểm trong mặt phẳng
Oxy với thông tin như sau:
Trang 39Bài tập thực hành số 3.10
VCT tạo lớp ToaDo điểm trong mặt phẳng
Oxy với thông tin như sau:
Trang 40Bài tập thực hành số 3.11
VCT tạo lớp Time mô tả các thông tin về thời gian: giờ, phút, giây và các phương thức sau:
- Hàm thiết lập thời gian
- Hàm hiển thị giờ theo 24 tiếng
- Hàm hiển thị giờ theo 12 tiếng (AM và
Trang 41Bài tập thực hành số 3.12
VCT tạo lớp Date mô tả thông tin về ngày,
tháng, năm (day, month, year) Lớp CDate có các phương thức sau:
- Phương thức thiết lập với 3 tham số ngầm
Trang 42Bổ sung thêm phương
thức Get/Set cho các bài
tập đã làm từ 3.1 đến 3.12
Bài tập thực hành nâng cao
42