Copy Constructor สร้างออบเจกต์ใหม่โดยคัดลอกค่าตัวแปรจากออบเจกต์เดิม
ตัวอย่าง
using System;
namespace Demo
{
class Student
{
private string name;
private int rank;
// Copy Constructor
public Student(Student s)
{
name = s.name;
rank = s.rank;
}
public Student(string name, int rank)
{
this.name = name;
this.rank = rank;
}
public string Display
{
get
{
return " Student " + name + " got Rank " + rank.ToString();
}
}
}
class StudentInfo
{
static void Main()
{
Student s1 = new Student("Jack", 2);
// ใช้ Copy Constructor
Student s2 = new Student(s1);
// แสดงผล
Console.WriteLine(s2.Display);
Console.ReadLine();
}
}
}
ขั้นตอน:
- ประกาศ Copy Constructor:
public Student(Student s) - สร้างออบเจกต์แรก:
Student s1 = new Student("Jack", 2); - คัดลอกไปยังออบเจกต์ใหม่:
Student s2 = new Student(s1);