面向对象多态
让一个对象表现多种的状态(类型)
实现多态有三种手段
1.虚方法
- 步骤:1.将父类的方法标记为虚方法,使用关键字virtual(可以被子类重写)
- 2.子类的方法使用关键字override
2.抽象类
-
当我们不知道父类中的函数如何去实现的时候,可以考虑将父类写成抽象类,将方法写成抽象方法
-
抽象函数没有方法体,抽象类无法创建对象
-
抽象类的特点
- 1.抽象成员必须标记为abstract,并且不能有任何实现
- 2.抽象成员必须在抽象类中
- 3.抽象类不能实例化
- 4.子类继承抽象类后,必须把父类中的所有抽象成员重写(除非子类也是抽象类)
- 5.抽象类的访问修饰符不是是private
- 6.在抽象类中可以包含实例成员
- 7.抽象类是有构造函数的,虽然无法实例化
3.接口
部分类
两个都叫Person类,类前加partial关键字,表示这两个类都是person类的一部分
密封类
类前加sealed,表示这个类不能被继承
其他
装箱和拆箱
- 装箱:将值类型转换为引用类型
- 拆箱:将引用类型转换为值类型
- 两种类型是否发生装箱或者开箱要看这两种类型是否存在继承关系,不存在则没有
- 尽量避免装箱和拆箱
List泛型集合
- 相当于ArrayList,但比ArrayList好用
Dictionary字典(键值对)
- 对应HashTable
Path类
- Path.GetFileName(@“路径”) 获得文件名
- Path.GetFileNameWithoutExtension(@“路径”) 获得文件的名字但不包括扩展名
- Path.GetExtension(@“路径”) 直接获得扩展名
- Path.GetDirectoryName(@“路径”) 获得文件夹的名称
- Path.GetFullPath(@“路径”) 获得文件所在的全路径
- Path.Combine( ) 连接两个字符串作为路径
File类
-
File.Create(@”路径“) 创建文件
-
File.Delete(@“路径”) 删除文件
-
File.Copy(@“路径”,@”新路径“) 复制文件
-
File类读写数据
- File.ReadAllLines() 以行的形式读取文本文件,返回数组
- File.ReadAllText() 读取文本文件,返回字符串
- File.ReadAllBytes() 可以读取其他类型文件
- File.WriteAllLines() 以行的形式写入文本文件,读取数组
- File.WritefAllText() 写入文本文件,返回字符串
- File.AppendAllText() 添加不覆盖
-
file类的缺点:只能读取小文件
-
绝对路径和相对路径
- 绝对路径:通过给定的这个路径直接能在我的电脑种找到这个文件
- 相对路径:文件相对于应用程序的路径(开发时尽量使用相对路径)
文件流
-
FileStream 操作字节的
- 将创建文件流对象的过程写在using当中,会自动的帮助我们释放流所占用的资源
-
StreamReader和StreamWriter 操作字符的
序列化与反序列化
- 序列化:就是将对象转换为二进制
- 反序列化:就是将二进制转换为对象
XMind - Trial Version