×

Phương thức trong C# Khái niệm cơ bản và ví dụ thực tế

Phương thức (method) trong C# là một khối mã được định nghĩa trong một lớp hoặc struct, thực hiện một công việc cụ thể và có thể được gọi để thực hiện nhiệm vụ đó. Phương thức cho phép bạn tổ chức mã thành các phần nhỏ hơn, có thể tái sử dụng và dễ quản lý hơn.

Một phương thức có thể có các đặc điểm sau:

  • Modifier (bổ từ): xác định phạm vi truy cập của phương thức, chẳng hạn như public, private, protected, internal, hoặc sự kết hợp của chúng.
  • Return Type (kiểu trả về): kiểu dữ liệu mà phương thức sẽ trả về. Nếu phương thức không trả về giá trị, sử dụng từ khóa void.
  • Method Name (tên phương thức): tên định danh của phương thức.
  • Parameter List (danh sách tham số): các tham số mà phương thức nhận, nằm trong dấu ngoặc đơn (). Nếu không có tham số, để trống.
  • Method Body (nội dung phương thức): khối mã được bao trong dấu ngoặc nhọn {}, chứa các câu lệnh mà phương thức sẽ thực thi.

Ví dụ về phương thức trong C#

using System;

public class Calculator
{
    // Phương thức không trả về giá trị và không có tham số
    public void PrintWelcomeMessage()
    {
        Console.WriteLine("Welcome to the Calculator program!");
    }

    // Phương thức có kiểu trả về là int và có hai tham số
    public int Add(int a, int b)
    {
        return a + b;
    }

    // Phương thức có kiểu trả về là double và có hai tham số
    public double Divide(int numerator, int denominator)
    {
        if (denominator == 0)
        {
            throw new DivideByZeroException("Denominator cannot be zero.");
        }
        return (double)numerator / denominator;
    }

    // Phương thức tĩnh (static method)
    public static void PrintGoodbyeMessage()
    {
        Console.WriteLine("Goodbye from the Calculator program!");
    }
}

public class Program
{
    public static void Main(string[] args)
    {
        // Tạo đối tượng của lớp Calculator
        Calculator calculator = new Calculator();

        // Gọi các phương thức đã khai báo
        calculator.PrintWelcomeMessage(); // Gọi phương thức PrintWelcomeMessage
        int sum = calculator.Add(3, 4); // Gọi phương thức Add
        Console.WriteLine("Sum: " + sum); // In ra kết quả của phương thức Add

        try
        {
            double result = calculator.Divide(10, 2); // Gọi phương thức Divide
            Console.WriteLine("Result: " + result); // In ra kết quả của phương thức Divide
        }
        catch (DivideByZeroException ex)
        {
            Console.WriteLine(ex.Message);
        }

        // Gọi phương thức tĩnh PrintGoodbyeMessage
        Calculator.PrintGoodbyeMessage();
    }
}

Giải thích

  • PrintWelcomeMessage: một phương thức không có tham số và không trả về giá trị (sử dụng từ khóa void).
  • Add: một phương thức nhận hai tham số kiểu int và trả về một giá trị kiểu int.
  • Divide: một phương thức nhận hai tham số kiểu int và trả về một giá trị kiểu double. Nếu mẫu số bằng 0, phương thức sẽ ném một ngoại lệ DivideByZeroException.
  • PrintGoodbyeMessage: một phương thức tĩnh (static method) không có tham số và không trả về giá trị.

Phương thức tĩnh có thể được gọi mà không cần tạo một đối tượng của lớp, trong khi các phương thức không tĩnh phải được gọi thông qua một đối tượng của lớp.

Comments