实例方法的危害或益处调用静态方法

时间:2014-07-17 11:59:33

标签: c# oop static instance

让实例方法调用静态方法来完成工作会有什么危害或好处吗?

如果您对我的意思感到困惑,请查看下面的示例代码。 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;
}

1 个答案:

答案 0 :(得分:0)

根据您的软件设计选择成员函数或静态方法。 专业缺点与您选择的 设计有关。

通常,考虑使用静态方法,当该方法对某些类型的内部状态没有任何影响,并且不需要在内部存储一些数据,简而言之:它只是执行。

在所有其他情况下考虑使用实例方法。

重复这是一个基本想法,因为一切都取决于你的设计。

例如:查看提供的代码,我看到您编写的方法很容易static