.net core中如何使用 继承 abstract virtual 以及 interface

abstract 抽象关键字  virtual:虚拟,以下皆以单词代替中文

1. abstract类中可以放abstract 方法abstract 属性方法属性virtual属性 virtual方法,abstract类可以继承interface

2. 继承了abstract类的非abstract类必须实现 父类的abstract 函数 和abstract 属性。

3. 继承了abstract类的abstract类可以不实现父类的abstract 函数 和abstract 属性。

4. 继承了任意父类的子类包涵和父类相同的函数(名称和参数一致),且父类方法没有使用virtual关键字,那么则需要在子类方法上添加new关键字实现子类方法

5. 继承了父类的virtual属性,virtual方法,如果不使用override重写,则在调用子类的时候会调用父类对应方法,如果使用了override重写,则在子类的调用时会调用子类的对应方法。

6. 当父类的abstract 方法,abstract 属性被继承时不能在子类中添加virtual。

7. 类的字段不能使用abstract virtual修饰。

8. 整体功能性集合使用abstract 类,行为性集合使用interface。

 

这里什么时候使用interface,什么时候使用abstract类的解释我按照发动机来说,

发动机是一个整体功能,凡是继承了发动机的都是发动机只是牌子,性能不同。这里我们看到发动机是一个abstract类;

发动机能够消耗电能,提供动能等功能,这些功能应该是定义成接口interface,那么发动机这个abstract类要继承消耗电能,提供动能这样的interface。

所以从功能性,行为性上来看,功能性使用abstract类,行为使用interface

一般情况下,功能性会比行为更复杂一点,也会有复杂的用abstract类,简单的用interface一说。

posted on 2020-07-01 21:09  SZMD.ls.nct  阅读(391)  评论(0)    收藏  举报

导航