让实例方法调用静态方法来完成工作会有什么危害或好处吗?
如果您对我的意思感到困惑,请查看下面的示例代码。 StripFormatting是一个实例方法和静态方法。如果另一个开发人员创建了一个PhoneUtil实例,那么所需要的只是在对象实例上调用StripFormatting方法。如果开发人员决定不创建PhoneUtil实例,则可以调用静态方法,但此方法具有PhoneNumber的参数。
public string StripFormatting()
{
return PhoneUtil.StripFormatting(this.PhoneNumber);
}
public static string StripFormatting(string psPhoneNumber)
{
string tsPhoneNumber = psPhoneNumber;
Regex toNotDigit = new Regex("\\D+");
tsPhoneNumber = toNotDigit.Replace(tsPhoneNumber, "");
return tsPhoneNumber;
}
答案 0 :(得分:0)
根据您的软件设计选择成员函数或静态方法。 专业和缺点与您选择的 设计有关。
通常,考虑使用静态方法,当该方法对某些类型的内部状态没有任何影响,并且不需要在内部存储一些数据,简而言之:它只是执行。
在所有其他情况下考虑使用实例方法。
重复这是一个基本想法,因为一切都取决于你的设计。
例如:查看提供的代码,我看到您编写的方法很容易static
。