C#

封装: 建立一个类库文件--->程序集

  • public   本类、当前命名空间里面都可以用,跨程序集也可以用
  • protect  本类、子类(当前命名空间或者跨程序集)
  • private   只能在本类使用
  • internal  只能在当前命名空间使用
  • protected internal  当前的命名空间可以用,子类(当前命名空间或跨程序集)

继承:

  • A:B   B父类/超类/基类,A子类/派生类,A就继承了B里面所有的成员(字段、方法)
  • A:B   首先会调用B的构造方法,再调用A的构造方法
  • A:B   B:C   --->  A:C
  • A:B   A和B有相同的一个方法,默认情况下,当A对象调用该方法时,A里面继承到的该方法被隐藏,调用的是A的方法
  • A:B   A和B都有相同的一个方法X,A的对象调用C方法,调用的是A的C方法,B是C方法被覆写。覆写的条件是B里面需要声明该方法为虚方法(virtual),A里面需要通过关键字override去实现覆写。
  • 子类的对象可以赋值给父类的变量。反正不行。所有类的父类是object
  • 里氏替换原则
    • A:B   A和B有相同的方法
    • b=new A();
    • C(); //默认情况下,调用的是B里面的,如果C被覆写,就调用子类的。
  • 密封类sealed,不能被继承。
  • 类是单继承的,一个类只能继承一个类。

多态:

  • 覆写
  • 重载  方法名相同,实现内容不同
原文地址:https://www.cnblogs.com/caiyc/p/7763639.html