C# Constructors

Hiểu về Constructors trong C#

Constructors (hàm khởi tạo) trong C# là những phương thức đặc biệt được gọi tự động khi một đối tượng của lớp được tạo ra. Mục đích chính của constructors là để khởi tạo các thuộc tính của đối tượng đó. Constructors có cùng tên với lớp và không có kiểu trả về.

Định nghĩa Constructor

Constructor là một phương thức đặc biệt, được sử dụng để khởi tạo một đối tượng. Nó được gọi khi bạn khởi tạo một thể hiện của lớp. Về cơ bản, constructor giúp chúng ta thiết lập trạng thái ban đầu của đối tượng.

Cú pháp của Constructor

[access_modifier] ClassName([parameters])
{
    // body of the constructor
}

Trong đó:

  • access_modifier: Có thể là public, private, protected, hoặc internal. Đây là mức độ truy cập của constructor.
  • ClassName: Tên của lớp.
  • parameters: Tham số (nếu cần) được truyền vào constructor.

Các loại Constructor

  • Default Constructor: Không có tham số.
  • Parameterized Constructor: Có tham số.

Ví dụ về Default Constructor

public class Person
{
    public string Name;
    public int Age;

    // Default Constructor
    public Person()
    {
        Name = "Unknown";
        Age = 0;
    }
}

// Sử dụng
Person person1 = new Person();
Console.WriteLine($"Name: {person1.Name}, Age: {person1.Age}");

Ví dụ về Parameterized Constructor

public class Person
{
    public string Name;
    public int Age;

    // Parameterized Constructor
    public Person(string name, int age)
    {
        Name = name;
        Age = age;
    }
}

// Sử dụng
Person person2 = new Person("Alice", 30);
Console.WriteLine($"Name: {person2.Name}, Age: {person2.Age}");

Constructor overloading (Nạp chồng Constructor)

C# cho phép bạn tạo nhiều constructors khác nhau với tên giống nhau nhưng khác nhau về tham số (số lượng hoặc kiểu dữ liệu của tham số).

public class Person
{
    public string Name;
    public int Age;

    // Default Constructor
    public Person()
    {
        Name = "Unknown";
        Age = 0;
    }

    // Parameterized Constructor
    public Person(string name)
    {
        Name = name;
        Age = 0;
    }

    // Parameterized Constructor
    public Person(string name, int age)
    {
        Name = name;
        Age = age;
    }
}

// Sử dụng
Person person3 = new Person("Bob");
Console.WriteLine($"Name: {person3.Name}, Age: {person3.Age}");

Kết luận

Constructors là một phần quan trọng trong lập trình hướng đối tượng với C#. Chúng giúp bạn khởi tạo các đối tượng một cách dễ dàng và hiệu quả. Việc hiểu và sử dụng constructors đúng cách sẽ giúp bạn phát triển những ứng dụng tốt hơn và dễ bảo trì hơn.