C#面向对象编程基础概念汇总

2020-01-05 09:55:55王旭

protected表示继承时,子类可以对父类有完全访问权

子类从他的父中继承的成员有方法,域,属性,事件,索引器。但对于构造方法,他不能被继承,只能被调用,对于调用父类的成员,可与用base关键字。

如果不用继承的话,如果要修改功能,就必须在所有重复的方法中修改,代码越多,出错的可能性越大,而继承优点是,继承使得所有子类公共的部分都放在了父类,使得代码得到了共享,这就避免了重复,另外,继承可以使得修饰或者扩展而来的扩展都比较容易。

继承的缺点:父类变,子类不得不变。

继承会破坏包装,父类实现细节暴露给子类

七、多态

多态表示不同的对象可以执行相同的动作,但要通过他们自己的代码类执行

  1. 子类以父类的身份出现
  2. 子类在工作时以自己的方式来实现
  3. 子类以父类的身份出现时,子类特有的属性和方法不可以使用

虚方法和重写

为了是子类的实例完全接替来自父类的类成员,父类必须将该成员声明为虚伪的,这是通过在改成员的返回值类型之前添加virtual关键字来实现,子类可以使用override关键字,将父类实现,替换为自己实现,这就是方法的重写override。