21.构造函数

1.前言

在这之前,其实我们已经接触过了很多次的构造函数,那么我们需要先给构造函数一个定义:构造函数是一种特殊的方法。它主要用于我们创造对象时的对其进行初始化,初始化可以理解为对对象的各种成员赋默认值,特别的一个类可以有多个构造函数 ,可根据其参数个数的不同或参数类型的不同来区分它们 即构造函数的重载,当我们实例化一个当前类对象的时候自动调用这个函数。

2.构造函数的详细演示

2.1 构造函数格式

因为在学习构造函数之前我们已经学习了方法,所以我们可以对比这来学习一下,我们先看一下代码的区别:

        public void ConsoleWriteLine()
        {
            Console.WriteLine("我是方法!");
        }
        public Student()
        {
            Console.WriteLine("我是构造函数!");
        }

可以看到其实大家的结构都差不多,都有访问级别 Public函数名、参数列表(( ))和代码块({ }),不同的地方就是方法的访问级别后面附带了一个返回值类型 void,那我们应该如何理解呢?

看了前言后你应该知道,构造函数是我们实例化对象时,对我们所创造的这个对象的各种成员初始值赋值的过程,所以它是没有返回值的,因此不需 返回值类型的关键字 来约束它,但方法则不同,方法必须需要进行约束。

2.2有参构造函数

其实这也没有什么好说的,和方法一样,有参构造函数就是在参数列表中设置好需要填入的形参,如果你需要填入多个不同数量或类型的参数,我们就可称之为 构造函数的重载,与 方法的重载疏源同归。

        public Class1()
        {
            Console.WriteLine("我是手写的无参数构造函数!");
        }
        public Class1(int value)
        {
            Console.WriteLine("我是int类型的构造函数!");
        }
        public Class1(bool value)
        {
            Console.WriteLine("我是bool类型的构造函数!");
        }
        public Class1(string value)
        {
            Console.WriteLine("我是string类型的构造函数!");
        }

需要注意的是,你创建了一个类,但是你并没有写一个无参的构造函数,当你new 的时候,会自动为你生成的,但是你的类中手了一个有参的构造函数则不会自动帮你生成无参的构造函数,如果你需要必须自己手动完成。

© 版权声明
THE END
点赞71 分享
和此文作者聊聊 抢沙发

    暂无评论内容