zl程序教程

您现在的位置是:首页 >  其他

当前栏目

《.NET程序员面试秘笈》----面试题7 构造函数有什么作用

面试题Net程序员面试 什么 作用 ---- 构造函数
2023-09-11 14:17:33 时间

本节书摘来自异步社区《.NET程序员面试秘笈》一书中的第1章,面试题7,作者: 张云翯, 更多章节内容可以访问云栖社区“异步社区”公众号查看。

面试题7 构造函数有什么作用

.NET程序员面试秘笈
【考点】各种形态构造函数的理解,派生类的构造函数,构造函数的重载。

【出现频率】

构造函数用于创建类的实例,并对实例进行初始化操作,通过不同的参数传递,可进行不同的实例初始化操作。本例通过多种不同形式的构造函数创建实例,并输出初始化的结果。在ch01目录下新建一个程序文件,并命名为Constructor.cs,编写代码如程序1.8所示。

image

image

在命令行下编译Constructor.cs后,执行Constructor程序,其效果如图1.10所示。

image

前面的所有示例中都使用了构造函数,因为构造函数用于创建类的实例(对象)。在类中声明构造函数可对新实例(对象)进行初始化的操作,其编写方法如以下代码所示:

class 类名称

 访问修饰符 类名称()

 初始化操作;

}

可见,构造函数和类中的方法类似,也是一种函数,不过构造函数的名称必须和类名称相同。并且构造函数没有返回值,所以其函数签名和一般的函数有区别。没有参数的构造函数被称为默认构造函数,如果非静态类的类体中没有声明构造函数,类将自动提供一个默认构造函数,并将类成员初始化为默认值。

说明:

结构类型(Struct)是值类型,不需要显式声明默认构造函数,编译器将自动生成默认构造函数。当用new运算符实例化时默认构造函数才被调用,将成员初始化为默认值。
通过不同的参数传递,在类体中可声明多个构造函数,即实现构造函数的重载。其编写方法如以下代码所示:

class 类名称

 访问修饰符 类名称()

 初始化操作1;

 访问修饰符 类名称( 参数类型1 参数1......)

 初始化操作2;

 访问修饰符 类名称( 参数类型2 参数1......)

 初始化操作3;

}

在程序中创建该类的实例(对象)时,通过传递参数的不同,调用不同的构造函数进行不同的初始化操作。程序中创建实例(对象)的方法如以下代码所示:

类型名称 对象名称 = new 构造函数(); //默认构造函数

类型名称 对象名称 = new 构造函数(参数列表);

一般情况下,构造函数是实例构造函数,即可通过该构造函数在类外部创建类的实例。反之,如果需要阻止创建类的实例,可在声明私有的默认构造函数,这种情况一般用于无实例成员的类中。如果需要完成只执行1次的操作,可以声明静态构造函数。这种构造函数在创建实例前或引用静态成员前自动调用,一般用于对静态成员的操作。

说明:

无实例成员的类可声明为静态类,即无须声明私有的默认构造函数。
本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。


从最近面试聊聊我所感受的.net天花板 #0 前言 入职新公司没多久,闲来无事在博客园闲逛,看到园友分享的面试经历,正好自己这段时间面试找工作,也挺多感想的,干脆趁这个机会总结整理一下。 博主13年开始实习,14年毕业。到现在也工作五六年了。今年面试最大的感受就是触及了.net的天花板。坐标,杭州。 #1 背景
常用的.NET面试问题 - 2 这里我们接着聊一聊有关.NET面试问题,本章我们将讨论有关.NET类型的问题,并以一种简单的方式给出答案。 问题1:值和引用类型是什么?另外,用实例解释一下装箱和拆箱? 值类型是直接存储数据的类型,值类型存储在堆栈中。大多数基本类型,如int、float和char都是值类型的例子。另一方面,引用类型将引用或内存地址存储在其中,并将相应的数据存储在堆中,引用类型的例子包括类、字符串、数组和对象。装箱是将值类型转换为对象类型时相关的术语,而拆箱只是将对象类型转换为值类型。装箱在托管堆内存中创建一个新对象并复制数据,而拆箱则相反。装箱是隐式的,而拆箱是显式的。如下所示,
《.NET程序员面试秘笈》----导读 从目前软件开发的就业形势来看,.NET程序员的就业率相当不错,因为使用.NET开发项目的公司特别多,微软公司对.NET的支持也比较完善。下面的图给出了从2008年到2013年人们对ASP.NET招聘职位的关注度,从最初的30多万提高到了目前的100多万。
异步社区 异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。