C#入门面向对象编程(字段、属性)
2021-04-19 14:26
一、访问修饰符
1、为什么使用访问修饰符:
(1)现实中:每个人都有自己的隐私和公开内容。
(2)开发中:有时候开发者在设计类的时候,一些成员(字段、属性、方法)无需提供给调用者
(3)好处:充分体现面向对象里面的“封装”特性。
(4)作用:保证数据安全,方便调用者使用
2、访问修饰类型:
(1)private:只能在类的内部使用
(2)public:在任何地方这个成员都能被使用
(3)默认:类的方法、字段默认都是private,类的本身不写的话,默认是internal
(4)开发经验:一般都建议显示的写明访问修饰符
二、字段的使用
1、字段又被称为“成员变量”,一般用来在一个类的内部做数据交互使用,通常是private修饰。
2、字段的命名规范:一般采用camel命名法。
3、字段在对象创建过程中会首先被初始化(通过断点观察)
三、属性概述
1、在OOP中,主要使用属性来描述对象的静态特征。
2、属性一般采用Pascal命名法,数据类型和对应字段一致。
3、属性是外界访问私有字段的一个入口,属性本身不保存任何数据。
四、属性的重要特征
1、使用属性能避免非法数据
(1)实践方法:通常在get或set方法中可以添加需要的业务逻辑
(2)对比:相当于数据库中的“约束”。因为约束是保证数据有效性的最后一个屏障。
2、可以设置只读属性
(1)有些属性为了保护数据,我们可以设置成只读,而不能赋值。
(2)方法:将set方法去掉即可
(3)经验:可以替代readonly。
3、属性可以单独存在
(1)有时候某一个属性值可能不是直接返回一个对应私有字段的值,而是调用一些方法,或其他业务逻辑
五、自动属性
public int BookId{get;set}
1、使用特点
(1)简化代码,私有字段编码器自动生成
(2)只适合标准属性
(3)不能添加任何业务逻辑
2、适用条件
(1)不能直接操作私有字段
(2)不能只读只写
快捷键 :pro然后连续按两次Tab
六、字段与属性的总结与比较
1、字段(成员变量)
(1)字段主要是为类的内部做数据交互使用,字段一般为private
(2)我们可以给字段赋值,也可以取值。
(3)字段需要为外部提供数据是,将字段封装为属性,而不是共有字段
2、属性
(1)属性一般是向外提供数据访问,主要是用来描述对象的静态特征,所以,一般是public
(2)属性可以设置成只读、只写,提高数据安全性。
(3)属性内部可以添加业务逻辑,从而避免非法数据。