Tutorial Lab - Creating and Using Methods
Trong lab này, bạn sẽ thực hành tạo và gọi các phương thức để thực hiện một số hàm toán học đơn giản. Bạn sẽ bắt đầu bằng cách tạo các phương thức đơn giản chấp nhận đối số và trả về giá trị và sau đó bạn thực hiện một số thực hành nạp chồng phương thức.
Visual Studio Steps
- Mở Visual Studio
- Chọn File, New, Project
- Từ phần Templates, chọn Visual C#
- Chọn Console App (.NET Framework if using VS 2017 or later)
- Đặt tên project, ví dụ Mod3_Lab1
- Lựa chọn vị trí lưu dự án.
- Nhấn nút OK và Visual Studio sẽ tạo ra ứng dụng mới C# Console application project cho bạn và mở ra file Program.cs trong editor.
- Đặt con trỏ của bạn ngay sau dấu ngoặc nhọn mở trong phương thức Main, sau đó nhấn enter để tạo một dòng mới
- Đặt con trỏ của bạn sau dấu ngoặc nhọn đóng của hàm void void Main (string[] args) và nhấn enter. Chúng tôi đang làm điều này bởi vì bạn không muốn đặt các phương thức/hàm bên trong một hàm khác.
- Đoạn mã sau bạn sẽ nhập là một phương thức mới gọi là Sum() sẽ được sử dụng để thêm các giá trị được truyền vào nó. Bạn sẽ thêm vào phương thức này và overload nó sau này trong lab. Bây giờ, nhập mã sau vào trình soạn thảo của bạn.
// Sum() method that takes two integer arguments and sums them
// The method returns no value which is why we use void
// We also need to use static in the method signature because Main is static
// and you cannot call a non-static method from a static method
static void Sum(int first, int second)
{
int sum = first + second;
Console.WriteLine($"The sum of {first} and {second} is: {sum}");
}
11. Bây giờ chúng ta có thể gọi phương thức này từ bên trong Main để tính tổng của hai số. Nhập mã sau trong dấu ngoặc nhọn của Main():
Sum(20, 40);
Mã hoàn chỉnh của bạn sẽ trông như sau:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Mod3_Lab1
{
class Program
{
static void Main(string[] args)
{
Sum(20, 40);
}
// Sum() method that takes two integer arguments and sums them
// The method returns no value which is why we use void
// We also need to use static in the method signature because Main is static
// and you cannot call a non-static method from a static method
static void Sum(int first, int second)
{
int sum = first + second;
Console.WriteLine($"The sum of {first} and {second} is: {sum}");
}
}
}
- Nhấn CTRL + F5 hoặc lựa chọn Debug, Start Without Debugging để kiểm tra output và thực hiện gọi method.
- Ví dụ đầu tiên bạn tạo gọi một phương thức không trả về giá trị. Bây giờ chúng ta sẽ sửa đổi phương thức đó để nó trả kết quả trở lại phương thức gọi. Chúng tôi cũng sẽ cần sửa đổi mã trong Main.
- Để sửa đổi phương thức, nhập mã sau đây.
// Sum() method that takes two integer arguments and sums them
// The method returns an integer value which is why we use int in the signature
// We also need to use static in the method signature because Main is static
// and you cannot call a non-static method from a static method
static int Sum(int first, int second)
{
int sum = first + second;
return sum;
}
- Cuối cùng, chúng ta cần sửa đổi mã trong Main() để tận dụng một phương thức trả về giá trị. Ở đây, chúng tôi khai báo một biến số nguyên để nhận giá trị trả về. Giá trị trả về và biến được sử dụng để giữ nó phải khớp với nhau về kiểu dữ liệu. Sau đó chúng tôi in kết quả ra cửa sổ console command-line.
static void Main(string[] args)
{
int result = Sum(20, 40);
Console.WriteLine($"The sum of 20 and 40 is {result}");
}
- Chạy lại ứng dụng và kiểm tra đầu ra. Cả hai đầu ra nên giống nhau. Điều duy nhất chúng tôi đã thay đổi, về cơ bản, là có phương thức trả về tổng của hai số và nơi chức năng đầu ra cư trú.
- Bây giờ chúng ta hãy xem xét overloading phương thức Sum(). Chúng tôi sẽ tạo ra hai phương thức bổ sung. Đầu tiên, tạo một phương thức chấp nhận ba số nguyên bằng cách nhập mã sau đây:
// Sum() method that takes three integer arguments and sums them
// and then returns the value
// This method uses the same name as the Sum() method that takes two integers
// but the parameters here indicate the method is expecting three integers as arguments
// The compiler knows which method to call based on the number of arguments passed in
static int Sum(int first, int second, int third)
{
int sum = first + second + third;
return sum;
}
- Tiếp theo, nhập mã sau đây sẽ tạo phương thức Sum() chấp nhận hai nhân đôi làm đối số:
// Sum() method that takes two doubles as arguments
// This method uses the same name as the Sum() method that takes two integers
// but the parameters here indicate the method is expecting two doubles as arguments
// The compiler knows which method to call based on the arguments data types
static double Sum(double first, double second)
{
double result = first + second;
return result;
}
- Cuối cùng, sửa đổi mã trong Main() gọi các phương thức để nó trông như thế này:
static void Main(string[] args)
{
int result = Sum(20, 40);
Console.WriteLine($"Calling Sum() with two arguments, result is: {result}");
int result3 = Sum(10, 50, 80);
Console.WriteLine($"Calling Sum() with three arguments, result is: {result3}");
double dblResult = Sum(20.5, 30.6);
Console.WriteLine($"Calling Sum() that takes doubles result in: {dblResult}");
}
- Chạy lại ứng dụng và kiểm tra đầu ra. Bạn sẽ thấy các giá trị tổng hợp chính xác được hiển thị cho mỗi lời gọi của ba phương thức khác nhau. Mặc dù chúng đều có tên Sum, trình biên dịch sẽ tìm ra phương thức đúng để gọi dựa trên chữ ký của phương thức. Đó là cách overloading phương thức hoạt động.
إرسال تعليق