1、访问修饰符
作用:限制对象的属性或方法可访问的范围(类的内部、类的外部)
类型:private(私有的,不可见的)、public(共有的,外部可见的)
如果在字段、方法前面没有写访问修饰符,则默认为private
2、字段的使用
关于字段:
字段又称成员变量,一般在类的内部做数据交互使用,一般使用private修饰。
字段的命名规范:
字段命名一般采用camel命名法——合成词首字母小写,其他词首字母大写
字段的通俗理解:私有化字段好比个人财产,只供个人使用,所以一般使用private修饰
添加标准:一个类中需要添加几个字段,需要根据程序编写过程的需要决定
3、属性
属性在进行get/set操作的时候,操作的都是私有字段
(1)作用:在面向对象设计中主要使用属性描述对象的静态特征
(2)要求:一般采用Pascal命名法(单词首字母大写),数据类型与对应字段一致,使用public修饰
(3)属性的理解
属性其实是外界访问私有字段的入口,属性本身不保存任何数据
给属性赋值其实是给属性指向的私有字段赋值
读取属性的值,其实是获取属性指向的私有字段的值。
(4)属性的业务逻辑
属性的获取和写入都可以添加适当的业务逻辑。通过为写入添加业务逻辑,可以对输入的数据进行约束,保障数据有效性。
例:
(5)只读属性
有些属性为了保护数据,我们只能读取而不能赋值
只读属性没有set方法(同样 没有get方法的话则不可读,只有set方法的为只写)
(6)没有对应私有字段的属性
属性通过业务逻辑处理得到,属性内部可以添加任意的业务代码,如方法的调用等。
标准属性:指带有对应的私有字段,无业务逻辑的属性
4、字段与属性的比较
字段(成员变量)
字段主要是为类的内部做数据交互使用,字段一般是private。
字段可以赋值也可以取值。(可读写)
当字段需要为外部提供数据的时候,应该将字段封装为属性而不是使用公有字段。(可以但不用,这是面向对象所提倡的)
实际在C#程序解析某个字段的时候,系统不会去解析公有字段,而只认对应的属性。
属性
属性一般是向外提供数据,主要用来描述对象的静态特征,所以,属性一般是public
属性可以根据需要设置只读,只写,提高数据安全性。
属性内部可以添加我们需要的业务逻辑,从而避免非法数据。
5、自动属性
网友评论