我有一堆系统,我们打电话给他们A, B, C, D, E, F, G, H, I, J
。接口,抽象,或只是虚拟的方法?
它们都有类似的方法和属性。有些包含完全相同的方法和属性,有些可能略有不同,有些可能会有很大差异。现在,我为每个系统都有很多重复的代码。例如,我有一个为每个系统定义的名为GetPropertyInformation()
的方法。我试图找出哪一种方法是减少重复的代码或以下方法也许一个最好的办法是不是要走的路:
接口
public Interface ISystem
{
public void GetPropertyInformation();
//Other methods to implement
}
public class A : ISystem
{
public void GetPropertyInformation()
{
//Code here
}
}
摘要
在超基类public abstract class System
{
public virtual void GetPropertyInformation()
{
//Standard Code here
}
}
public class B : System
{
public override void GetPropertyInformation()
{
//B specific code here
}
}
虚拟方法
public class System
{
public virtual void GetPropertyInformation()
{
//System Code
}
}
public class C : System
{
public override void GetPropertyInformation()
{
//C Code
}
}
一个问题,尽管它可能是愚蠢的,是让我们假设我去与抽象的方法,我想重写GetPropertyInformation
,但我需要它传递一个额外的参数,这是可能的,或者我会在抽象类中创建另一个方法?例如,GetPropertyInformation(x)
我有一种感觉,抽象和超级基类是相似的。 A,B,C系统确实具有强大的耦合。有一个行业标准,但不必遵循,所以每个人都可以采用标准或改变他们的标准。在匆忙中,我选择了系统:) – Xaisoft
顺便说一句好话。 – Xaisoft