Computer >> Máy Tính >  >> Lập trình >> C#

Hàm tạo sao chép trong C # là gì?

Copy Constructor tạo một đối tượng bằng cách sao chép các biến từ một đối tượng khác.

Hãy để chúng tôi xem một ví dụ -

Ví dụ

using System;
namespace Demo {
   class Student {
      private string name;
      private int rank;

      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);

         // display
         Console.WriteLine(s2.Display);
         Console.ReadLine();
      }
   }
}

Ở trên chúng ta đã thấy, trước tiên chúng ta đã khai báo một hàm tạo bản sao -

public Student(Student s)

Sau đó, một đối tượng mới được tạo cho lớp Sinh viên -

Student s1 = new Student("Jack", 2);

Bây giờ, đối tượng s1 được sao chép sang đối tượng mới s2 -

Student s2 = new Student(s1);

Đây là những gì chúng tôi gọi là phương thức tạo bản sao.