我想知道在良好的OOP设计,干净的代码,灵活性以及将来避免代码异味方面有什么更好的选择。图像情况,您需要将很多非常相似的对象表示为类。这些类没有任何特定的功能,只是数据类,而只是名称(和上下文)不同而已。示例:
Class A
{
String name;
string description;
}
Class B
{
String name;
String count;
String description;
}
Class C
{
String name;
String count;
String description;
String imageUrl;
}
Class D
{
String name;
String count;
}
Class E
{
String name;
String count;
String imageUrl;
String age;
}
将它们保留在单独的类中以获得更好的可读性,但是要经过多次代码重复会更好,还是使用继承使其更干燥更好?
通过使用继承,您将得到如下所示的结果,但是类名将失去上下文的含义(因为is-a,而不是has-a):
Class A
{
String name;
String description;
}
Class B : A
{
String count;
}
Class C : B
{
String imageUrl;
}
Class D : C
{
String age;
}
我知道继承不是也不应该用于代码重用,但是在这种情况下,我看不到任何其他可能的方式来减少代码重复。