c#进阶之面向对象(OOP)

1、重写

  派生类重写基类的方法或者属性,使用关键字(override),

 关键:

  • 父类的被重写方法必须使用 virtual、override,abstract 关键字进行修饰
  • 重写的方法参数必须与被重写方法一样

2、重载

  不同的函数使用相同的函数名,参数不同。

3、抽象类和接口的区别

相同点:

  • 都不能实例化
  • 都可以拥有抽象方法、属性、索引器
          1. 属性名可自定义,索引器必须以this命名。
          2. 属性可以为实例或静态,索引器必须是实例的。
          3. 索引器有索引参数列表,而属性没有。
  • 都可以拥有具体的方法实现(记得之前接口内部的方法是不允许有具体实现的,但是我发现core3.0支持这种写法了)

不同点

  • 派生类只能继承一个抽象类,但是可以继承多个接口
  • 派生类必须实现继承的抽象类或者接口的所有抽象成员

一句话总结:抽象类可以理解为 is a,接口可以理解为 like a 或者说 can do;

 

 

  

c#进阶之面向对象(OOP)

上一篇:.NET Core 3 WPF MVVM框架 Prism系列之区域管理器


下一篇:C# windows权限问题 程序如何以管理员身份运行程序