文章教程

3.2自动属性

8/31/2020 9:37:14 PM 人评论 次浏览

3.2 自动属性

在C# 4.0中微软提出了一个新的概念——简单属性索引器,这个应用在面向对象的编程方式中,可以使得程序员的操作变得更加简单。

3.2.1 理解自动属性

在以前的编译器中如果使用面向对象编程的方式,在使用对象属性时,一般分为写入属性和读取属性。前面版本的自动属性都采用下面的写法。

alt

在老版本的编译器中只能使用这样的对象属性。在新版本中引用了一个新的概念,它给面向对象的编程带来新的革新,上述代码在新的编译器中的写法如下。

alt

类中partial修饰符表示强制这个类中所有的代码都放置在当前文件中,便于管理,因为所有类的代码如果不写在一个文件中调试和后期维护,会非常麻烦。

3.2.2 访问自动属性

在实体类中简单属性索引器产生的属性和按照以前方式产生属性完全相同,示例代码如下。

alt

代码中首先为学生信息类分配了一个对象,然后为这个学生类对象中的学生名称属性赋值,最后输出到界面显示,运行结果如图3-5所示。

alt

图3-5 输出学生对象中的学生姓名属性

3.2.3 自动属性的访问限制

简单属性索引器产生的属性页是有限制的,新的自动属性不同于以前的属性,通过代码来实现属性的只读和只写功能,在简单属性索引器中必须读写属性都要全,否则编译器会产生错误,如图3-6所示。

alt

图3-6 自动属性索引器的命名规则

3.2.4 自动属性和默认值

在自动属性中也是有默认值的,但这个默认值和原来用到的默认值不同,该默认值是系统自动分配的默认值,不是手动赋值的默认值,具体代码如下。

alt

在代码中,建立了一个学生的信息类,使用了最新的自动属性索引器,在按钮事件中。为学生信息对象分配了空间。然后输出了分配空间后属性的默认值,输出结果如图3-7所示。

alt

图3-7 自动属性索引器的默认值

自动属性索引器能够为没有赋值的属性添加一个默认值,默认值为系统自动分配的,bool为false,int为0。

教程类别