Trình xây dựng C#
nhà xây dựng
Hàm tạo là một phương thức đặc biệt được sử dụng để khởi tạo các đối tượng. Ưu điểm của hàm tạo là nó được gọi khi một đối tượng của lớp được tạo. Nó có thể được sử dụng để đặt giá trị ban đầu cho các trường:
Ví dụ
Tạo một hàm tạo:
// Create a Car class class Car { public string model; // Create a field // Create a class constructor for the Car class public Car() { model = "Mustang"; // Set the initial value for model } static void Main(string[] args) { Car Ford = new Car(); // Create an object of the Car Class (this will call the constructor ) Console.WriteLine(Ford.model); // Print the value of model } } // Outputs "Mustang"
Lưu ý rằng tên hàm tạo phải khớp với tên lớp và không được có kiểu trả về (như void
hoặc int
).
Cũng lưu ý rằng hàm tạo được gọi khi đối tượng được tạo.
Tất cả các lớp đều có hàm tạo theo mặc định: nếu bạn không tự tạo hàm tạo lớp, C# sẽ tạo một hàm tạo cho bạn. Tuy nhiên, bạn không thể đặt giá trị ban đầu cho các trường.
Người xây dựng tiết kiệm thời gian! Hãy xem ví dụ cuối cùng trên trang này để thực sự hiểu lý do tại sao.
Thông số hàm tạo
Trình xây dựng cũng có thể lấy tham số, được sử dụng để khởi tạo các trường.
Ví dụ sau thêm tham số string modelName
vào hàm tạo. Bên trong hàm tạo, chúng ta đặt model
thành modelName
( model=modelName
). Khi gọi hàm tạo, chúng ta truyền một tham số cho hàm tạo ( "Mustang"
), nó sẽ đặt giá trị của model
thành "Mustang"
:
Ví dụ
class Car { public string model; // Create a class constructor with a parameter public Car(string modelName) { model = modelName; } static void Main(string[] args) { Car Ford = new Car("Mustang"); Console.WriteLine(Ford.model); } } // Outputs "Mustang"
Bạn có thể có bao nhiêu tham số tùy thích:
Ví dụ
class Car { public string model; public string color; public int year; // Create a class constructor with multiple parameters public Car(string modelName, string modelColor, int modelYear) { model = modelName; color = modelColor; year = modelYear; } static void Main(string[] args) { Car Ford = new Car("Mustang", "Red", 1969); Console.WriteLine(Ford.color + " " + Ford.year + " " + Ford.model); } } // Outputs Red 1969 Mustang
Mẹo: Cũng giống như các phương thức khác, hàm tạo có thể bị quá tải bằng cách sử dụng số lượng tham số khác nhau.
Nhà xây dựng tiết kiệm thời gian
Khi xem xét ví dụ ở chương trước, bạn sẽ nhận thấy rằng hàm tạo rất hữu ích vì chúng giúp giảm số lượng mã:
Không có hàm tạo:
prog.cs
class Program { static void Main(string[] args) { Car Ford = new Car(); Ford.model = "Mustang"; Ford.color = "red"; Ford.year = 1969; Car Opel = new Car(); Opel.model = "Astra"; Opel.color = "white"; Opel.year = 2005; Console.WriteLine(Ford.model); Console.WriteLine(Opel.model); } }
Với hàm tạo:
prog.cs
class Program { static void Main(string[] args) { Car Ford = new Car("Mustang", "Red", 1969); Car Opel = new Car("Astra", "White", 2005); Console.WriteLine(Ford.model); Console.WriteLine(Opel.model); } }