.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) 收藏 举报
浙公网安备 33010602011771号