目录
- 深入.NET框架
- 深入C#数据类型
- 使用集合组织相关数据
- 继承
- 多态
深入.NET框架
1.NET框架的主要内容是CLR、框架类库
2.CLR是.NET应用程序运行时的环境
3.CLR有两个重要组件,CTS是通用类型系统,CLS公共语言规范
深入C#数据类型
1.封装的特点:
a.保证数据的安全性
b.提供数据连接外面的方式
c.可以在类内部进行任意修改,不会影响到其他类
2.值类型和引用类型
a.值类型:是复制自身的数据一份,然后给别人用,所以无论别人用这个传过去值上 面做什么操作,都对自己本身没有任何影响,对于它修改的值不会保留
值类型数据类型:enum枚举、struct结构、int整型、double、float浮点型、char字符型
b.引用类型:是直接复制自身的内存地址过去,相当于什么都给别人了,所以别人在这基础上做什么操作,对于自身都会有影响,值会随着别人的操作而改变
引用数据类型:类、数组int[]、String字符串、interface接口
3.ref:可以将值传递改成引用传递 反之不可以(在申明和调用的时候都需要加ref)
使用集合组织相关数据
1.ArrayList的优缺点
优点:相对于数组,长度是可以进行调整的,比起数组来说,很灵活
缺点:数组里面只能放一种类型的数据,ArrayList可以放多种类型数据,但是在这种集合里面经常需要类型转换(坏处)
ps:只能通过下标来访问里面的元素
2.Hashtable的优缺点
与ArrayList相比,Hashtable可以通过key值来遍历value值,就是可以通过指定值去查找集合中的对象
这两个集合共同的缺点:都要进行装箱、拆箱操作,需要强制转换
ps:ArrayList速度快但不方便,hashtable方便但速度慢
3.泛型List、Dictionary<k,v>
优点:不需要强制转换,避免了频繁的装箱和拆箱操作
继承
继承:必须符合is a关系,被继承的类称为父类或者基类,继承其他类的类称为子类或 者派生类
继承的特点
a.继承机制很好地解决了代码复用的问题
b.子类继承父类的成员,并且拥有了自己特有的成员
c.继承具有传递性和单根性
多态
多态:两个或多个属于不同类的对象,对于同一方法做出的不同反应
方法的重写、继承、虚方法、抽象都是实现多态的一种方式
重写:用virtual关键字定义为虚方法,在子类中用override关键字修饰,相同的方法名、 相同的参数列表(顺序、类型、数目保持一致)、不同的类
继承:减少代码重复率,提高代码复用性
虚方法:可以被子类重写的方法
抽象类:给一个类前面加上abstract,变成一个抽象类