C#核心笔记
- 多态
- Vob(virtual 虚函数 override 重写 base 父类)
- 多态的目的
- 同一父类的对象执行相同行为(方法)有不同的表现,让同一个对象有唯一的行为特征
- 多态的目的
- 接口
- 接口的申明
- Vob(virtual 虚函数 override 重写 base 父类)
interface 接口名 //接口是抽象行为的“基类” { //接口命名规范 帕斯卡前面加个I } //接口是抽象行为的基类
-
-
-
- 申明规范
- 不包含成员变量
- 只包含方法、属性、索引器、事件
- 成员不能被实现
- 成员可以不用写访问修饰符,不能是私有的
- 接口不能继承类,但是可以继承另一个接口
- 使用规范
- 类可以继承多个接口
- 类继承接口后,必须实现接口中所有成员
- 特点
- 它和类的申明类似
- 接口是用来继承的
- 接口不能被实例化,但是可以作为容器存储对象
- 申明规范
- 接口的使用
- 接口用来继承
- 使用规范
- 类可以继承1个类,n个接口
- 继承了接口后 必须实现其中的内容 ,且必须是public的
- 实现的接口函数,可以加virtual 再在子类重写
- 接口可以继承接口
- 接口继承接口时 不需要实现
- 待类继承接口后 类自己去实现所有内容
- 显示实现接口
- 当一个类继承两个接口,但是接口中存在着同名方法时
- 注意:显示实现接口时 不能写访问修饰符
- 写法:显示实现接口 就是用 接口名.行为名 去实现
- 总结:
- 继承类:是对象间的继承,包括特征行为等等
- 继承接口:是行为间的继承,继承接口的行为规范,按照规范去实现内容
- 由于接口也是遵循里氏替换原则,所以可以用接口容器装对象,那么就可以实现 装载各种毫无关系但是却有相同行为的对象
- 注意:
- 接口值包含 成员方法、属性、索引器、事件,并且都不实现,都没有访问修饰符
- 可以继承多个接口,但是只能继承一个类
- 接口可以继承接口,相当于在进行行为合并,待子类继承时再去实现具体的行为
- 接口可以被显示实现 主要用于实现不同接口中的同名函数的不同表现
- 实现的接口方法 可以加 virtual关键字 之后子类 再重写
-
- 密封方法
- 概念:用密封关键字 sealed修饰的重写函数,让虚方法或者抽象方法不能再被重写。特点是要和override一起出现。
- StringBuilder
- c#提供的一个用于处理字符串的公共类
- 修改字符串而不需要创建新的对象。修改字符串而不创建新的对象,需要频繁修改和拼接的字符串可以使用它,可以提升性能
- 使用前 需要引用命名空间
- 使用:
- StringBuilder str = new StringBuilder("123123123");
- 容量
- StringBuilder存在一个容量的问题,每次往里面增加时 会自动扩容
- 相当于给字符串初始就占一大堆空间,在未超出空间之这个字符串的修改都不用搬家,减少了搬家的次数,减少了产生的内存垃圾
- 增删改查
- 不能像传统的字符串一样直接加,而要调用方法
- 增:str.Append("4444");
- 删: str.Remove(0, 10);//0是开始位置。10是结束位置
- 改: str[0] = 'A';
- 查:str[1]
- 清空:str.Clear();
- 插入: str.Insert(0, "唐老狮");
- 替换:str.Replace("1", "唐");
- 重新赋值:先清空再赋值
- 判断StringBuilder是否和某一个字符串相等:str.Equals("12312")
- 结构体和类的区别
-