PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

C#中复制构造函数是什么

青灯夜游
青灯夜游 原创
2019-01-31 15:57:53 4594浏览

通过从另一个对象复制变量或将一个对象的数据复制到另一个对象来创建对象的构造函数称为复制构造函数。下面我们来简单了解一下,希望对大家有所帮助。

复制构造函数是一个参数化构造函数,包含相同类类型的参数。它的主要用途是将新实例初始化为现有实例的值。通常,C#不提供对象的复制构造函数,但是如果要在程序中创建复制构造函数,可以根据需要进行创建。【教程推荐:C#视频教程

基本语法

以下是使用c#编程语言定义复制构造函数的语法。

class Class_Name {
        // 参数化构造函数
        public Class_Name(string a, string b......)//参数列表
        {
            // code
        }
        // 复制构造函数
        public Class_Name(Class_Name instance_of_class)
        {
            // code
        }
}

示例:

using System;
namespace Tutlane{
    class User {
        public string name, location;
        // 参数化构造函数
        public User(string a, string b){
            name = a;
            location = b;
        }
        // 复制构造函数
        public User(User user) {
            name = user.name;
            location = user.location;
        }
    }
    class Program{
        static void Main(string[] args){
            // 带有参数化构造函数的User对象
            User user = new User("小明", "北京");
            // 另一个User对象(user1)通过复制user的详细信息,
            User user1 = new User(user);
            user1.name = "小华";
            user1.location = "上海";
            Console.WriteLine(user.name + ", " + user.location);
            Console.WriteLine(user1.name + ", " + user1.location);
        }
    }
}

输出:

2.jpg

说明:

在上面的例子中,我们创建了一个复制构造函数(user1)的实例,并使用user对象的实例作为参数类型。因此,user对象的属性将发送到user1对象。当我们更改user1对象的属性值时,这些属性值不会影响User对象属性值。

以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多精彩内容大家可以关注php中文网相关教程栏目!!!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。