pp看书笔记---C#高级编程第九版 第三章 【类和结构】

来源:互联网 发布:中国收藏热线软件下载 编辑:程序博客网 时间:2024/05/04 15:45

前言

  • 这一章主要是叙述类,类的结构,即组成,类中有成员变量,有成员函数,(构造器等不论);
  • 成员变量有字段和属性;他们的修饰符区别;
  • 有构造函数和参数
  • 类总结完和结构比较

这是这一篇文章的线路,这一章看了三遍才解开我之前很多不清楚的地方。

成员变量总结

总结1

微软风格:

字段仅const修饰的可以为public

字段用属性包装,有封装、get\set中写逻辑的好处

使用属性包装字段不会造成性能缺失,内存上内联

总结2

成员变量修饰符 名称 使用范围 初始化时机 初始化值 静态 const 常量 类内字段、属性,方法中变量 声明时 常量 默认且必须 readonly 只读 类内字段、属性 声明时、构造函数 常量、变量 可以是静态

总结3

static:
用static修饰的字段x,实例化多个x所在的类,x仅有一个,一改都改。

构造函数总结

构造函数类型 修饰符 参数 调用时机 调用次数 访问范围 使用时机 继承 普通 public 有 new的时候 不限制 类内静态构造、私有构造外 初始化 可以 静态 无 无 1.第一次实例化该类的时候 2.第一次调用该类静态成员的时候 最多一次 类内静态成员 多次实例化该类的时候只执行一次的方法 不可以 私有 不是public 无意义 无意义 无意义 无意义 类内仅有静态成员的时候 不可以

备注:
1. 私有只所以我写参数、调用时机等无意义是因为根本不会执行私有构造,也意味着不能new该类
2. 静态的范围是静态,这很好理解
3. 构造也是一个普通的函数
4. 普通构造函数之间可以嵌套调用
5. new的时候调用的是构造函数,并不分配空间

参数总结

参数类型 使用目的 注意 普通 可选 类似函数重载 该类型参数放在函数右边括号里最后 ref 值类型传递变为引用类型传递 参数有初始值,参数前加ref out 值类型传递变为引用类型传递 参数前加out

类和结构

类型 使用目的 数据类型 性能 继承 构造函数 类 组合数据 引用 复杂数据结构最优 可以 结构 组合数据 值 简单数据结构最优 不可 显示必须有参

备注:

  • 性能那一块还是因为简单的数据结构用值类型不需要地址转换所以性能更优
  • 性能那一块还是因为复杂的数据结构成员多,值类型需要拷贝的多,性能差
1 0
原创粉丝点击