应使用哪种方法类型

本文关键字:方法 类型 | 更新日期: 2023-09-27 18:36:50

我想知道,我应该使用什么样的方法

public class UserProfile {
    public String GetAsString(){
        ... Some Stuff
        return anyString;
    }
    // Or this one
    public static String GetAsString(UserProfile profile){
        ... Some Stuff
        return anyString;
    }
}

是否有任何性能问题,或者我应该使用这些方法之一

谢谢你帮助我

应使用哪种方法类型

在面向

对象的语言(如 C#)中,您的主要选择应始终是实例成员而不是静态成员

静态成员...

  • 。不是实例的一部分。
  • 。不能是多态的(即 virtual )。
  • 。无法访问实例成员。因此,如果您认为仅仅因为性能问题就可以混合静态成员和实例成员,那么它要么全有,要么全无(尽管实例成员可以访问静态成员......

实际上,在软件架构方面使用静态的主要问题是,它们将类转换为函数的模块或容器,而不是将类视为对象的原型。

静态对于实现工厂方法、常量、单例和其他一些需求是很好的,但它们不应该被视为纯面向对象编程本身的替代品。