Menu
CoddyTech

Khai báo phương thức

Thuộc phần Kiến thức nền tảng trong hành trình C# của Coddy. Bài học 49 trên 69.

Phương thức là một chuỗi lệnh code có tên. Phương thức giúp bạn tái sử dụng một đoạn code nhiều lần.

Ví dụ, hãy xem đoạn code này:

Console.WriteLine("Welcome to Coddy");
Console.WriteLine("New session...");
Console.WriteLine("Welcome to Coddy");
Console.WriteLine("Another session...");
Console.WriteLine("Welcome to Coddy");

Chúng ta dùng đi dùng lại cùng một đoạn code Console.WriteLine("Welcome to Coddy"). Một vấn đề khác với đoạn code này là nếu muốn đổi thông báo Welcome to Coddy thành nội dung khác, chẳng hạn như Welcome aboard, thì bạn phải sửa 3 dòng code khác nhau. Để giải quyết vấn đề này, chúng ta sẽ dùng phương thức (method).

Để khai báo một phương thức (method), ta dùng cú pháp sau:

access_modifier [modifiers] return_type method_name(parameters) {
	// code
}

Trong ví dụ này, chúng ta sẽ tạo một phương thức có tên Greet và phương thức đó sẽ trông như sau:

public static void Greet() {
	Console.WriteLine("Welcome to Coddy");
}

Nếu phân tích kỹ hơn:

  • public là bộ sửa đổi quyền truy cập (kiểm soát ai có thể dùng phương thức này)
  • static là một bộ sửa đổi (nghĩa là phương thức thuộc về chính lớp đó)
  • void là kiểu giá trị trả về (nghĩa là phương thức không trả về giá trị nào)
  • Greet là tên phương thức
  • () chứa tham số (để trống ở đây)

Hiện tại, bạn chỉ cần luôn viết public static trước tên phương thức, mình sẽ giải thích ý nghĩa của từng từ sau.

Để sử dụng/gọi/thực thi phương thức, ta viết Greet();:

Greet();
Console.WriteLine("New session...");
Greet();
Console.WriteLine("Another session...");
Greet();

Kết quả sẽ giống như ở trên.

Lưu ý: Trong C#, thứ tự khai báo phương thức trong một lớp không quan trọng. Trình biên dịch đọc toàn bộ lớp trước, vì vậy bạn có thể gọi một phương thức trước hoặc sau khi định nghĩa phương thức đó trong mã nguồn: cả hai cách đều hợp lệ.

Ví dụ, cả hai cách này đều đúng trong C#:

// Phương thức (method) được định nghĩa TRƯỚC, rồi mới gọi
public static void Greet() {
    Console.WriteLine("Welcome to Coddy");
}

Greet();
Console.WriteLine("New session...");
Greet();
// Phương thức (method) được gọi trước, định nghĩa sau. Cách này cũng hợp lệ trong C#.
Greet();
Console.WriteLine("New session...");
Greet();

public static void Greet() {
    Console.WriteLine("Welcome to Coddy");
}
challenge icon

Thử thách

Dễ

Viết chương trình nhận một đầu vào là một số. Số đầu vào cho biết số lần thực thi phương thức bên dưới. 

Tạo một phương thức tính tổng tất cả các số từ 1 đến 1000 (bao gồm cả hai số này) rồi in ra tổng đó. Bạn có thể đặt tên phương thức tùy ý.

Tự làm thử

using System;

public class Program {
    // Khai báo phương thức
    public static void SumNumbers() {
        // Hoàn thiện phương thức
        
    }
    
    
    public static void Main(string[] args) {
        int n = int.Parse(Console.ReadLine());
        for (int i = 0; i < n; i++) {
            // Gọi phương thức n lần
        }
    }
}
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Kiến thức nền tảng

Tự luyện tập: Trình biên dịch C# online