我想知道继承的用例。具体来说,我有一个C#的情况,我有一个Axis类,你可以给这个类一个字符串名称,以及其他属性。因此,您可以编写(新轴(“X”))来创建名为X的轴。
因为通常你想要创建X,Y和Z轴,我觉得有意创建三个名为X,Y和Z的Axis子类,每个子类在构造函数中指定Axis名称是什么。
目前Axis类中没有很多代码,因此代码重用非常少(当然可能会改变)。公平地说,编写(新轴(“X”))而不是(新X())也没那么麻烦。
无论如何,我想知道的是编写这样的代码是否有任何不利之处,或者如果这样做是不常见的做法。很有责任!
答案 0 :(得分:0)
public class Axis
{
public Axis(string name)
{
Name = name;
}
public string Name { get; }
public static Axis X { get; } = new Axis("X");
public static Axis CreateX() => new Axis("X");
}
如果您有属性,则需要确保Axis是不可变的。您可以随时在房产中返回一个新房产,但这不是房产应该做的事情。
答案 1 :(得分:0)
Imo取决于您对此值的处理方式:
string
构造函数参数非常合适,即使您决定总是命名x轴" X"。"X"
- 轴,您可能想要使用枚举,即AxisType.X
。除非每个子类与其他子类具有不同的行为,否则我不会创建子类。
答案 2 :(得分:0)
请考虑以下事项。