标签:
抽象类
抽象方法用abstract修饰
抽象方法不能有方法体
抽象方法不能实例化,因为有抽象成员,而抽象成员不能有方法体的
子类必须重写父类的抽象方法
在子类中无法通过base关键字调用父类的抽象方法
抽象方法是光说不做的,只是定义了具有这样的行为,但是具体的实现交给了子类
抽象类中可以拥有非抽象成员,为了继承给子类
抽象类中可以拥有虚方法
子类必须重写父类的方法,父类没有必要实例化,就用抽象类
抽象类是被继承的,是为了多态
抽象成员不能是私有的
接口 是一个特殊的抽象类
使用interface来定义1个接口
接口表示具有某种能力
接口中可以定义的成员
接口不能实列化
接口中的成员默认就是抽象的
接口中只能定义属性,方法,索引器,事件
抽象成员不能有访问修饰符,默认就是public
实现接口的类,必须要实现接口中的所有的成员
类在实现接口的成员的时候不需要override关键字
实现成员的时候必须要保证签名一致
接口就是1个纯粹的为了规范实现类的
抽象类:可以找到父类,并且希望通过父类继承给子类一些成员 族
接口: 多个类具有相同的方法,但是找不到父类,就可以将方法定义在接口中,让这些类去实现
1个类只能继承1个父类,但是可以实现多个接口,父类要写在第一个位置,一定程度上解决了类的单根性问题,
接口本身可以继承接口,支持多继承
接口中的成员可以实现为抽象方法或者是虚方法,让实现类的子类去实现
要避免定义多功能接口,以免造成接口污染
装箱:将值类型转换为引用类型
拆箱:将引用类型转换为值类型
字符串 特殊引用类型
字符串可以看做是1个字符数组
Length 表示字符串的字符个数
字符串对象一旦创建这个对象就不能被修改
在创建1个字符串对象的时候,会先去字符串拘留池中寻找是否有相同字符串内容的对象
如果有就直接让变量指向这个对象,如果没有在创建新的对象
字符串常用方法:
Length属性代表字符的个数
Empty代表1个空字符串"" 强调不是指的null
Compare比较2个字符串的大小
Concat连接字符串并组成1个新的字符串
Contains() 判断指定的字符串里面是否包含指定的字符串
EndsWith()判断指定的字符串是否以指定的字符串结尾
StartsWith()判断指定的字符串是否以指定的字符串开始
Equals();判断指定的字符串的内容是不是与指定的字符串相同
Format()格式化字符串
IndexOf()查找指定的字符或者字符串在字符串中的索引,如果没有返回-1
LastIndexOf() 从字符串的结尾往前面查,第一次字符串出现的索引
IsNullOrEmpty()判断指定的字符串是不是null值或者string.Enpty
Remove 如果只传一个int类型,会保留前面的,删除后面的
Replace 替换字符串
Split 以指定的字符分割字符串 返回数组
Substring 切割字符串
ToCharArray() 将字符串转换为字符输组
ToLower() 将字符串转换为小写
ToUpper()将字符串转换为大写
Trim() 去掉字符串的前后的空格
当我们需要大量的字符串拼接可以使用StringBulider类
标签:
原文地址:http://www.cnblogs.com/WZLYA/p/4847085.html