文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

C#类学习-3

2023-01-31 01:49

关注

构造函数是在创建给定类型的对象时执行的类方法。

构造函数具有与类相同的名称,它通常初始化新对象的数据成员。

如下面示例:

public class myclass

{

        //下面为myclass类的构造函数

        public myclass()  //与类名相同的函数为类的构造函数

       {

       }

}

不带参数的构造函数称为类的“默认构造函数”。
只要使用 new 运算符实例化对象,并且不为 new 提供任何参数,就会调用默认构造函数。
 
除非类是 static 的,否则 C# 编译器将为无构造函数的类提供一个公共的默认构造函数,以便该类可以实例化。
 
通过将构造函数设置为私有构造函数,可以阻止类被实例化
如下例:
class myclass
{
       //用private 关键字来声明为私有构造函数
       private myclass()
      {
 
      }
}
 
 
结构类型的构造函数与类的构造函数类似,但是 structs 不能包含显式默认构造函数,因为编译器将自动提供一个构造函数。
 
只有当 struct 用 new 实例化时,才会调用此默认构造函数。
基于 structs 的对象(包括所有内置数值类型)可以初始化或赋值后使用。
因此对值类型调用默认构造函数不是必需的。
类和 structs 都可以定义具有参数的构造函数。带参数的构造函数必须通过 new 语句或 base 语句来调用。
类和 structs 还可以定义多个构造函数,并且二者均不需要定义默认构造函数。
 
构造函数可以使用 base 关键字来调用基类的构造函数。
基类的构造函数在执行构造函数块之前被调用。
base 关键字可带参数使用,也可不带参数使用。构造函数的任何参数都可用作 base 的参数
如果基类没有提供默认构造函数,派生类必须使用 base 显式调用基构造函数。
构造函数可以使用 this 关键字调用同一对象中的另一构造函数。和 base 一样,this 可带参数使用也可不带参数使用,构造函数中的任何参数都可用作 this 的参数
 
构造函数可以标记为 publicprivateprotectedinternal 或 protectedinternal。
这些访问修饰符定义类的用户构造该类的方式。
 
使用 static 关键字可以将构造函数声明为静态构造函数。
在访问任何静态字段之前,都将自动调用静态构造函数,它们通常用于初始化静态类成员

 

静态构造函数

静态构造函数用于初始化任何静态数据,或用于执行仅需执行一次的特定操作。

在创建第一个实例或引用任何静态成员之前,将自动调用静态构造函数。

静态构造函数特点:

  • 静态构造函数既没有访问修饰符,也没有参数。
  • 在创建第一个实例或引用任何静态成员之前,将自动调用静态构造函数来初始化
  • 无法直接调用静态构造函数。
  • 在程序中,用户无法控制何时执行静态构造函数。
  • 静态构造函数的典型用途是:当类使用日志文件时,将使用这种构造函数向日志文件中写入项。
  • 静态构造函数在为非托管代码创建包装类时也很有用,此时该构造函数可以调用 LoadLibrary 方法。
  • 如果静态构造函数引发异常,运行时将不会再次调用该构造函数,并且在程序运行所在的应用程序域的生存期内,类型将保持未初始化。

 

 
阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯