2014-07-17 80 views
0

让实例方法调用静态方法来完成其工作是否有任何伤害或好处?实例方法的伤害或好处调用静态方法

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

成员函数或静态方法根据您的软件设计进行选择。有优点缺点关于你选择的设计。

一般来说,如果该方法对某些类型的内部状态没有任何影响,并且不需要存储某些数据,则可以考虑使用静态方法,简而言之:它只是执行。

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

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

例如:查看所提供的代码我发现您写的方法可以很容易地制作成static

相关问题