公共语言运行库
1..NET应用程序的元素
a)程序集
b)模块
c)类型
2.提高
a)版本化
b)更好的部署
3.优点
a)内存管理垃圾回收
b)GC的优化
c)跨语言集成(借助元数据)
i.通用类型系统
ii.元数据
iii.对元数据更好的支持
iv.属性
v.IL反汇编器
变量和类型
尽管.NET里面所有的东西都是基于Object类型,但是他有两个主要的变量类值类型和引用类型。
二者的区别:在底层的实现方式完全不同。
a)在把数据付给一个值类型是,数据存储在对堆栈的变量中。
b)一个引用类型的时候,变量值存储一个引用,数据存储在托管堆上。
其余的那些使用对象、创建类、实现继承、多接口的细节在前面的C#视频中已经涉及到了。但是在对象实现多态性这方面我想再花点时间说说,主要的实现技术有四种,如下所示:
l 后期绑定
l 多接口
l .NET反射
l 继承
技术比较
技术 |
优点 |
缺点 |
建议 |
后期绑定 |
灵活、具有纯多态性 |
迟钝、难于调试、 |
用于调试任何对象中的任何方法,无需考虑数据类型或者接口,当不能控制由类的创建者实现的接口时非常有用。 |
多接口 |
快、容易调试、 |
不能完全动态、不灵活、需要类的创建者实现统一的接口。 |
当控制由应用程序使用的类来实现的接口时非常有用。 |
.NET反射 |
可以动态的装入磁盘中的任意程序集。 |
迟钝、难于调试 |
用于调试任何对象中的任何方法,在设计师并不知道将要用到哪一个程序集。 |
继承 |
快、容易调试 |
不能完全动态,不灵活,需要类的创建者实现统一的接口。 |
当创建有“is a”关系的对象时使用,用于使子类具有和基类同样的数据类型的场合。 |
命名空间
相信我们在大话模式的时候已经见到了命名空间,那什么是命名空间呢?
命名空间:
l 是组织.NET Framework类库提供的大量类、结构、枚举、委托和接口的一种方式。
l 是命名约定和程序集的结合,他将对象的集合组织起来,防止在对象引用中出现混淆。
通常我们用imports关键字导入命名空间。
错误处理
在我们敲机房收费系统的时候相信我们都有用到on error go to 语句处理错误,那么在.NET 中我们有什么方法来处理错误呢?
Try、Catch、Finally关键字
Throw关键字
Exit Try语句
嵌套的Try结构
建议:看视频的时候一定要看一部份总结一部分,尽早的做好颗粒归仓,这样到最后的时候才不至于无从下手。