C#中构造方法是什么

构造方法的作用

构造方法的主要作用就是为类中的成员变量进行初始化。

<!--构造的注意事项 -->
1、构造方法名必须和类名相同。
2、构造方法能够添加参数。
3、构造方法可以进行重载,系统根据参数不同选择调用符合的构造方法。
4、构造方法可以不写,系统会添加一个默认的无参构造方法。
5、构造方法可以是私有的,私有后不允许通过该构造方法初始化对象。
6、构造方法会在创建对象或者第一次访问静态成员的时候调用。

系统默认的构造:

    public class student
    {
        //系统默认生成的构造方法
        public student()
        {
            
        }
    }

通过构造方法初始化成员变量:

首先定义几个属性,例如:

        public string name;//姓名
        public string sex;//性别
        public int age;//年龄
        public int height;//身高
        public int weight;//体重
    public string beizhu;//备注

构造方法的参数可以是所有属性参数,也可以是其中几个,比如:这是一个带有所有属性参数的构造方法

        public student(string name, string sex, int age, int height, int weight)
        {
            this.name = name;
            this.sex = sex;
            this.age = age;
            this.height = height;
            this.weight = weight;
this.beizhu = "使用的是第一个构造方法(全部参数)";
        }

这是一个只有两个属性参数的构造方法

        public student(string name,string sex)
        {
            this.name = name;
            this.sex = sex;
this.beizhu = "使用的是第二个构造方法(部分参数)"; }

以上代码写在student类中,那么怎样在别的类中调用呢,如下代码写在Main方法里:

    //这是主方法
    class Demo
    {
        static void Main(string[] args)
        {
            student stu = new student("王明", "", 18, 180, 90);
            Console.WriteLine(stu.name + stu.beizhu);
            student stu2 = new student("李华", "女");
            Console.WriteLine(stu2.name + stu2.beizhu);
        }

    }

stu和stu2都是student的实例化,但是参数不同,所以对应的是两个不同的构造方法,看输出结果:

 

 那如果你不写构造方法呢,该怎么调用方法里边的属性呢

那就需要这样

        static void Main(string[] args)
        {
            //student stu = new student("王明", "男", 18, 180, 90);
            //Console.WriteLine(stu.name + stu.beizhu);
            //student stu2 = new student("李华", "男");
            //Console.WriteLine(stu2.name + stu2.beizhu);
            student stu = new student();
            stu.name = "星籁歌姬";
            stu.sex = "";
            stu.age = 19;
            stu.height = 185;
            stu.weight = 120;
        }

一条一条的给方法的属性赋值,灰常的不够银杏,灰常的麻烦,所以构造方法还是更方便一点

 原创内容转载请注明:https://www.cnblogs.com/ccgn/articles/16149719.html

posted @ 2022-04-15 16:16  给自己个晚安  阅读(800)  评论(0编辑  收藏  举报