在c#中,如何定义一个由所有派生/实现类型实现的静态方法?我知道你无法在界面中定义静态方法.
基本前提是这样的:
比方说,我有一个生物基类.衍生类型将是人类和狗.
我想要一种方法,可以回答我说给定生物体的腿数.所以人类将是2,狗将是4,等等.
我可以将这样的方法作为实例方法,但它没有多大意义,因为它对于所有Dog类型都是相同的方法,对所有Human类型都是相同的,等等.
我不认为你完全理解OO.使它成为实例方法是完全合理的.
如果你有两只狗(一只名叫幸运儿),幸运会被一条失去一条腿的汽车击中,会发生什么?有了你的模型,整个狗只失去了一条腿?
但在更好的模型中:
#psudo
class Organism{
public abstract void legs(){ return 0;}
}
class Dog : Organism{
private int _legs;
public int legs(){ return _legs; }
}
Run Code Online (Sandbox Code Playgroud)
然后幸运的是会失去一条腿.
| 归档时间: |
|
| 查看次数: |
118 次 |
| 最近记录: |