TUhjnbcbe - 2025/6/23 22:50:00
C#核心开发-第13单元-构造函数1.基本概念C#的构造函数是存在类中的,是随着类一起产生的,它的作用是在创建对象时初始化对象、字段和其它变量,即为对象成员变量赋初始值。C#中的构造函数是在实例化类时,new生成对象时调用构造函数。使用构造函数,程序员能够设置默认值、限制实例化,并编写灵活易读的代码。2.定义构造函数是一个特殊的方法,没有返回类型,构造函数的名称必须与所在的类名称相同:图1在图1中,News是使用class关键字定义的类,而此News类中还定义了构造函数。构造函数的定义语法如下:public类名(){}构造函数可以用来初始化一些成员的值,可以执行一些代码。图2在图2的构造函数中编写了2行代码,输出当前的日期和时间。现在使用一下这个构造函数:图3在图3中当实例化类为对象时,就会调用构造函数,运行一下:图4虽然在图3中只是使用new关键字实例化了对象,但是却执行了构造函数中的代码。3.默认构造函数每个类在执行时,都会自动生成一个没有参数的构造函数,此构造函数是默认构造函数。构造函数的名称与类名相同:图5也就是说在创建所有的类后,都会在后台自动创建一个与类名相同的无参数构造函数,与图5手动创建的这个构造函数一样。无参数构造函数是指构造函数名后面的圆括号()是空的。默认构造函数有如下特点:(1).创建的类都会在后台自动创建一个无参数的构造函数。(2).在类中定义的所有字段都会自动在默认的构造函数中初始化。(3).如果手动创建了无参数的构造函数,则类就不会自动创建默认构造函数了。4.带参数构造函数带参数构造函数是指在构造函数名称后面带有1个或多个参数。图6图6的代码说明如下:(1).在Student类中定义了一个带参数的构造函数。(2).构造函数带有2个参数,1个是string类型的name参数,1个是int类型的age参数。(3).在构造函数中输出这2个参数的值。在类中只要手动编写了构造函数,类就不会自动创建默认的构造函数了。在Program类中实例化Student类:图7运行一下结果:图8在构造函数中初始化字段的值:图9在图9中定义了2个字段,然后在构造函数中将接收到的参数值赋值给字段,然后输出字段的值:图10在图10中正确输出字段的值了。同样,也可以在构造函数中给属性赋值:图11在图11中,在构造函数中给Name和Age属性赋值,所赋的值是构造函数的参数值:使用带参数的构造函数,可以在类实例化时传入参数,并将参数带入到类中给字段、属性赋值,这样字段或属性的值就可以在整个类中使用了。5.App.config文件5.1.基本概念App.config文件是应用程序配置文件,是标准的XML文件。一般会把容易发生变化的配置放在配置文件中,以便于应用程序后期配置文件发生变化而不用再去修改代码,直接在应用程序配置文件中修改即可。.NET控制台应用程序都会存在App.config文件:图13图13是自带的App.config文件的配置内容。5.2.添加配置这里我们在App.config文件中添加一个自定义的节点:图14在图14中添加了一个appSettings的节点,然后在此节点中,添加一个add子节点,其中key是一个键,固定不变,而value就是key对应的值,此值在后期可以发生变化。5.3.获取配置值一般情况下,都是在类的构造函数中根据键获取配置文件中对应值的,要在类中操作App.config文件中的内容,需要添加System.Configuration程序集:图15在图15中点击“添加引用”,如图16所示:图16在图16中将“System.Configuration”选中,点击“确定”按钮,如图17所示:图17添加“System.Configuration”程序集之后,还需要使用using引用命名空间。最后就可以使用相应的操作获取App.config配置文件中的配置信息了。图18在图18中,使用了ConfigurationManager.AppSettings[key].ToString();一行代码获取key对应的值,这里的key是构造函数的参数,需要在实例化类时传入实际的值:图19在图19中给构造函数传入的参数值“appDb”是在App.config文件中配置的key:图20运行一下结果:图21在图21中,正确的在构造函数中根据key的值获取了对应的值。C#高级编程(第11版)C#7.NETCore2.0(.NET开发经典名著)京东¥28购买已下架