C#之构造函数

来源:互联网 发布:纪检监察网络评论 编辑:程序博客网 时间:2024/04/29 20:14

构造函数的目的:对类的对象进行初始化

 

构造函数与类的名称相同,在类实例化为对象时就会调用构造函数

 

Public  Class Student

{

Public Student(ParamList) //构造函数的声明

{

//函数体

}

}

 

ClassTest

Static Void Main()

{

Student astudent=New Student(实参列表) //构造函数的调用

}

 

当一个派生类想要调用基类的构造函数来初始化自己的实例时,可以用关键字“base

 

 public class person

        {

            private   string name;

            private   string sex;

 

            public person(string aname,stringasex)

            {

                name = aname;

                sex = asex;

 

 

            }

        }

        public class student:person

        {

            private int id;

            public student(string a, string b,int id):base(a,b) //base关键字的使用

            {

                this.id = id;

 

 

            }

            public void getinfo()

            {

               Console.WriteLine("姓名是:{0},性别是:{1},学号是:{2}",name,sex ,id );

            }

        }

        static void Main()

        {

            student astudent = newstudent("温欢","男",907);

            astudent.getinfo();

 

        }

    }

 

 

当一个类中有多个构造函数(即构造函数的方法重载)时,可以使用关键字“this”调用本类中的另一个构造函数来对类进行初始化

 

 class Program

    {

        static void Main(string[] args)

        {

            student astudent;

            astudent = newstudent("温欢", "男", "09070443027");

            astudent.getstudentinfo();

 

 

        }

    }

    public class student

    {

        private string name;

        private string sex;

        private string info;

 

       public student(string name, string sex, string ms) //第二个构造函数

            : this(ms)    //this关键字的使用

        {

            this.name = name;

            this.sex = sex;

 

 

        }

 

       public student(string info) //第一个构造函数

        { this.info = info; }

        public void getstudentinfo()

        {

           Console.WriteLine("学生的姓名是:{0},性别是:{1},综合信息是:{2}", name, sex,info);

 

        }

    }