Constructor là gì?

Khi khởi tạo đối tượng, nhiều lúc ta cần truyền cho nó những giá trị đầu vào, hoặc thực thi một cái gì đó khi đối tượng vừa được tạo ra, lúc này ta sẽ dùng đến hàm tạo (constructor).

Constructor là hàm đặc  biệt trong C#, có cùng tên với lớp, không có giá trị trả về, được chạy ngay khi đối tượng tạo ra.

class HinhTron
{
    public HinhTron()
    {
        Console.WriteLine("Day la constructor cua hinh tron");
    }
}
static void Main(string[] args)
{
    HinhTron hinhtron = new HinhTron();
    Console.ReadLine();
}

Kết quả:

constructor

Phân tích ví dụ:

Bước 1: tạo lớp HinhTron có một constructor, là HinhTro.

Bước 2: trong hàm Main tạo ra một đối tượng HInhTron.

Kết quả: Màn hình console có giá trị là "Day la constructor cua hinh tron". Lí do là khi đối tượng hình tròn vừa được khởi tạo, với đoạn mã HinhTron hinhtron = new HinhTron();. Nó sẽ gọi Constructor HinhTron ra.

Lưu ý: nếu một lớp không có construcor, c# sẽ tự động tạo cho nó một constructor cùng với tên lớp.

Overload Construcor.

Tương tự như các phương thức khác, bạn có thể overload constructor.

class HinhTron
{
    public string BanKinh { get; set; }

    public HinhTron()
    {
        Console.WriteLine("Day la constructor khong nhan tham so");
    }

    public HinhTron(string banKinh)
    {
        this.BanKinh = banKinh;
        
        Console.WriteLine("Day la constructor nhan 1 tham so dau vao la " +banKinh);
    }
}
static void Main(string[] args)
{
    HinhTron hinhtron1 = new HinhTron();
    HinhTron hinhtron2 = new HinhTron("1");
    Console.ReadLine();
}

Phân tích ví dụ:

Ở ví dụ trên, ta thấy Lớp HinhTron có hai constructor, constructor đầu tiên không nhận tham số, cái thứ hai nhận một tham số đầu vào kiểu string.

Trong hàm Main ta tạo hai đối tượng.

Đối tượng hinhTron1, sẽ gọi Constructor không nhận tham số đầu vào.

Đối tượng hinhTron2, sẽ gọi Constuctor nhận một tham số đầu vào.

Kết quả :

overload constructor

Các môn học khác

Khóa học này cung cấp cho ta kiến thức nền tảng về công nghệ Blockchain, Bitcoin. Vì sao nó được gọi là công nghệ của tương lai, vì sao giá Bitcoin lại cao đến vậy. Làm sao để mua Bitcoin, ETH.

HTTP giúp kết nối các máy tính trên mạng Internet thông qua TCP/IP

SQL là ngôn ngữ truy vấn mang tính cấu trúc, nó cho phép bạn truy cập và sử dụng database.