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

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

Chương trình thường được xây dựng quanh dữ liệu và logic để xử lý chúng. Nói cách khác: Program = Cấu trúc dữ liệu + giải thuật. Do vậy đây là môn học bắt buộc dành cho các lập trình viên.

Khoa học về dinh dưỡng, giáo trình giảm cân cho mọi người.