C#笔记4


1、多态--隐藏基类方法与多态的实现

子类可以有父类方法相同的方法:子类 obj=new 子类();
参数不同(重载)
参数相同(隐藏基类方法)
2、子类可以重写父类方法
虚方法virtual
重写方法override
重写基类方法一样可以调用基类方法(基类方法仍然存在于对象中,只是不能访问而已)
多态就是对象可以表现多个类型的能力
3、虚方法virtual
虚方法可以给父类中的方法一个实现,比如ToString()方法
虚方法必须有实现部分,抽象方法没有提供实现部分
多态---抽象方法与抽象类
抽象类与抽象方法由abstract修饰
abstract的使用注意
抽象方法没有方法体
抽象成员只能存在于抽象类中
抽象类可以有非抽象成员
抽象类的派生类必须实现抽象方法体
抽象类构造函数
抽象类只能作基类,无法实例化
4、多态:为了程序的可扩展性
开放封闭原则(对修改封闭,对扩展开放。)开闭原则
ToString()方法-Object
多态就是指不同对象收到相同消息时,会产生不同行为
同一个类在不同的场合下表现不同的行为特征
多态的作用:把不同的子类对象都当作父类来看,可以屏蔽不同子类对象之间的差异,写出通用的代码,做出通用的编程,以适应需求的不断变化。
5、里氏替换原则
父类引用指向子类对象Person p=new Chinese();
父类对象不能替换子类Chinese c=new Person();
6、抽象类中的抽象成员不能使用private访问修饰符,可以使用其他访问修饰符。
7、接口 interface
接口只有方法、属性、索引和事件的声明
接口是用来实现的,所有成员默认为public


显示实现接口,只能通过接口变量来调用(因为显示实现接口后成员为private)
能使用接口就用抽象类,能使用抽象类就不用类,能用父类就不用子类。面向接口编程(不关心具体实现)
params可变参数 必须出现在参数列表的最后。
ref仅仅是一个地址,引用传递,可以把值传递强制改为引用传递
out让函数可以输出多个值
1、在方法中必须为out参数赋值
2、out参数的变量在传递之前不需要赋值,即使赋值了也不能在方法中使用。
ref  参数在传递之前必须赋值
在方法中可以不为ref参数赋值,可以直接使用
ref应用场景内部对外部的值进行改变,out则是内部为外部变量赋值,out一般用在函数有多个返回值得场所。
8、常用类库
StringBuilder高效的字符串操作
当大量进行字符串操作的时候,比如,很多次的字符串的拼接操作。
String对象是不可变的,每次使用string类中的一个方法时没都要在内存中创建一个新的String对象相关的系统开销可能会非常大。如果要修改字符串而不创建新的对象,则可以使用System.Text.StringBuilder类。当一个循环中将许多字符串连接到一起是,使用StringBulider类可以提升性能。
StringBuilder!=String//将StringBuilder转换为String用ToString();
StringBuilder仅仅是拼接字符串的工具,大多数情况下还需要把StringBuilder转换为String
StringBuilder sb=new StringBuilder();
sb.Append();
sb.ToString();
sb.Insert();
sb.Replace();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值