12.7学习笔记
枚举:可通过枚举限定赋值的范围,有助于让变量的值具有合法性。便于赋值,只要通过设定枚举,后面的开发之需要通过点就能弹出所有值选择。允许描述性的赋值,如用数字表示,使代码直观,方便。
关键字: enum
如 private enum 枚举名
可以将枚举的值转为整形值。如 private enum 枚举名 {m=0,f=2}
从字符串中获得枚举:使用关键字trpeof,和euum..Parse() 方法。
结构:关键字是struct,相当于轻量级的类,适用于小型或用处不多的地方,就能比类更有效率。可以有构造函数,但不能有无参函数,不可以继承。可以不用new直接引用。都可以实现接口。
如 private struct 结构名
1 在表示诸如点、矩形等主要用来存储数据的轻量级对象时,首选struct。
2 在表示数据量大、逻辑复杂的大对象时,首选class。
引用类型和值类型是我区别
值类型本身就储存了变量本身的值,变量本身就包含了其实例化的数据,而引用类型保存的不是其实例化数据,而只是其内存引用而已。一个值类型的数据永远不会影响其他值类型数据的变量,而两个引用类型可能指向同一地址。从而使其他数据变量发生改变。
值类型的处理效率高于引用类型。在处理小对象和小数据的时候,可以使用值类型。
1 class和struct的语法基本相同,从声明到使用,都很相似。但是struct的约束要比class多,理论上,struct能做到的class都能做到,但class能做到的stuct却不一定做的到,也就是说struct都能被class所代替。
2 数据类型不一样,struct是值类型,class是引用类型,因此它们具有所有值类型和引用类型之间的差异。由于堆栈的执行效率要比堆的执行效率高,但是堆栈资源却很有限,不适合处理逻辑复杂的大对象,因此struct常用来处理作为基类型对待的小对象,而class来处理某个商业逻辑。
3 从继承性来看,struct既不能继承也不能被继承,但是可以实现接口,而Class就可以完全扩展了。内部结构有区别,struct只能添加带参的构造函数,不能使用abstract和protected等修饰符,不能初始化实例字段。
浙公网安备 33010602011771号