C#OOP的一些小知识点,希望对大家有用。
抽象方法:用abstract修饰的方法
1.抽象类:用abstract修饰的类(public abstract class 类名)
特点:1.抽象类不能实例化对象,只能被子类继承
2.如果一个类里有抽象方法,那么这个类一定是抽象类;但定义一个抽象类,里面不一定非要有抽象方法。
3.抽象类里可以有具体的方法(非抽象方法)
4.子类继承抽象类时,必须实现抽象类里的所有抽象方法,除非子类也是抽象类
5.抽象类可以有构造方法,但自己不能调用,是给子类调用的
2.接口:定义一个标准和规范,关键字是interface,接口是一个数据类型
注意:1.接口里只能声明方法,属性,索引器,事件
2.接口里的内容默认的都是public,所以不用加修饰符,如果写了会编译报错
3.接口名以大写字母“I”开头
4.如果一个类实现接口,那么必须实现接口里的所有内容,除非该类是抽象类
特点:1.接口可以多继承(一个类只能继承一个父类,但是同时可以实现多个接口)
2.继承的父类必须写在“:”后的第一个位置,后面的接口用“,”隔开
3.如果一个类在实现多个接口时出现方法名相同的情况,要用显示实现接口
4.接口可以绑定
5.接口作为参数,也可以实现多态
3.is和as的用法
is:判断某一对象是否是某一类型,如果是返回true,如果不是返回false
例:if(c is IPrint)
as:把某一对象转换为某一类型 例: IPrint c1 = c as IPrint;
4.抽象类和接口的区别(参考课本P189)
第九章
1.Math类:用于数学计算的一个静态类
常用方法:参考课本P197
2.Random类:求随即数
常用方法:r.Next(minValue,maxValue);
3.DateTime类:计算时间的类
常用属性:Now:当前时间
常用方法:(分2类)
1. 计算时间
2. 把时间类型转换为字符串类型
4.String类
常用属性:Length
常用方法:Contains() IndexOf() Replace() Split() Substring() 等
5.StringBuilder类:连接字符串时效率比String类高