首页 > 代码库 > C#基础-------②

C#基础-------②

  1. 实例名 is 类名-->判断实例是否是 类返回值bool   a is Person 判断a是否为Person类型 
  2. 格式化代码Ctrl+K+D
  3. 虚方法Virtual关键字,一个方法变为虚方法,在子类中便可以被重写,如果子类要重写用关键字override,调用子类对象有重写直接调用重写的方法,没重写直接调用父类的方法,这就是多态的体现
  4. 实现多态 父类名 实例名=new  子类名();  父类类型指向子类类型
  5. string str=new string(char[]);
  6. 调用静态方法直接类名调用,不能通过对象调用,静态成员无需实例化
  7. 静态成员只有在程序退出时才释放资源,所以在程序运行时一直共享数据
  8. 静态类不能被实例化,所以根据需要来决定类是否定义为静态类
  9. 一般情况当一个类是工具类就定义为静态类,让用户调用方便,不需要直接实例化对象,并且静态类中不能定义非static变量属性
  10. 当类中只有部分成员或函数只能将全局的定义为static,需要实例化且不同的话之定义一部分为静态
  11. 静态类不能被继承,静态类程序只有程序退出时才释放资源,所以尽量定义静态方法而不去定义静态变量,静态属性
  12. 静态类的构造函数只能在第一次用静态类执行之前调用一次,以后都不在调用
  13. 关键件sealed密封类不能被继承,abstract抽象类不能被是实例化
  14. 里氏替换原则:父类替换子类 Person p=new Chinese() 父类指向子类  继承一般使用原则,把子类当成父类来看,当需要一个父类对象可以使用子类对象代替,当需要一个子类对象给父类对象时错误的
  15. 程序的开放封闭原则:可以扩展,但是对修改封闭---->多态
  16. 父类对象 as 子类  父类转换为子类,不能转换则返回null
  17. GetType()获取对象类型,GetType().BaseType获取类型的父类类型,GetType()是通过反射实现的费资源
  18. 抽象方法不能有任何实现方法体 abstract,而且必须在抽象类中,父类的抽象成员子类继承必须重写,除了子类也是抽象类
  19. 抽象类不能被实例化,抽象类的作用就是为了让其他类继承
  20. 抽象类不能实例化,但是可以赋值为null