我需要一些关于为一个应用程序构建类的建议,该应用程序模拟 6 种不同但相似的类型。这 6 种类型都有一些属性和方法,它们都将共享。还有一些属性和方法,它们中的 3、4 或 5 个将共享但对其他人没有意义。
目前,我有一个抽象基类:
- 所有子类将使用的属性和方法,已经实现。
- 一些子类将使用的方法标记为抽象,在子类中实现。
- 一些子类将使用的属性标记为可为空,以便不使用该属性的子类可以为空。
不过,这似乎不是最好的解决方案。我觉得我已经提供了足够的细节,但如果这没有意义,请告诉我,我会尽力提供更好的描述。
编辑——添加代码示例
public abstract class BaseClass
{
//all classes inheriting from BaseClass would use these properties
public string Property1{ get; set; }
public string Property2{ get; set; }
public void Method1() {
//all classes inheriting from BaseClass would use this method
}
//more than one class (but not all classes)
// inheriting from BaseClass would use these properties
public int? Property3 { get; set; }
public bool? Propert4 { get; set; }
public abstract void Method2() {
//more than one class (but not all classes)
// inheriting from BaseClass would use this method
//those not using this method would have empty getters and setters maybe?
}
}