如果我有一个静态方法唯一的好处是我们有单一副本。需要没有对象来调用方法。创建一个对象也是一样,也就是说我们可以用对象调用方法。我们为什么要有静态方法。有人可以提供一个例子来解释吗?静态方法使用
Q
静态方法使用
0
A
回答
0
因为您想抽象实例化过程,所以当您拥有私有构造函数时,静态方法会很有用。
例如,在C++:
class Foo {
Foo() {}
public:
static Foo *create() {
return new Foo;
}
};
在该示例中抽象就叫否则在访问构造函数,但实际上,你可能希望有对象池这是共享的,所以create()
方法将为你管理这件事。
有时,当你有需要,在施工时被initalised它可以清洁移动逻辑此为private
静态方法const的成员,如:
struct Foo;
struct Bar {
Bar() : f(make()) {
}
private:
const Foo f;
static Foo make() {
// Create it here
}
};
0
静态方法当开发人员真的确定该方法在类中只有一个实例时使用。没有其他实例可以改变它。 如:
public class People
{
private
public static Int32 GetValue(Int x)
{
return x + 3;
}
}
所以,即使你是做对象人的情况下,从静态的GetValue方法的返回只生产X + 3 当你真的一定要做出一个功能方法像数学它通常用于或物理方法。 你可以参考使用静态角度的函数式编程。
一些旧学校的人过度使用静态方法,而不是做OOP方法。
如:
public class People
{
public static DataSet GetPeopleById(String personId)
{ .... implementation that using SQL query or stored procedure and return dataset ... }
public static DataSet GetXXXXXXX(String name, DateTime datex)
{ .... implementation ... }
}
上面的实现可以是成千上万行
的这种风格恰好到处使它像面向对象的风格(因为它在类发生),但想着像处理方式。 这是一个帮助,因为并非所有人都了解OOP风格,而不是像OOP风格。
使用静态的另一个优点是节省内存占用和更快。 你可以在博客中看到:http://www.dotnetperls.com/callvirt
相关问题
- 1. 使用方法调用静态方法?
- 2. 在Dao类中使用静态方法或非静态方法?
- 3. 静态方法或使用静态字段的非静态方法
- 4. 如何使用静态方法调用非静态方法(使用WebControl)?
- 5. 静态静态方法?
- 6. Java错误:静态方法无法引用非静态方法
- 7. 无法使用Environment.GetResourceString静态方法
- 8. 静态方法
- 9. 静态方法
- 10. 静态方法
- 11. 静态方法
- 12. 静态方法
- 13. Java,使方法静态
- 14. 使用通用类的静态方法
- 15. 使用类型调用静态方法
- 16. 使用反射调用静态方法
- 17. 使用Azure WebJobs调用静态方法
- 18. 从Python中的静态方法调用非静态方法
- 19. 如何从静态方法调用非静态方法?
- 20. (Java)静态通用方法与泛型类静态方法
- 21. 从另一个静态方法中调用静态方法
- 22. 对静态方法的静态引用(在主要方法中)
- 23. 从静态基类方法调用静态派生类方法
- 24. 如何在静态主要使用非静态方法(观察者方法)
- 25. 模拟静态使用时的静态方法从其他方法
- 26. 如何正确使用Mockito静态方法包装在非静态方法中?
- 27. 静态方法中使用的静态unorderd_map未初始化
- 28. PHP静态调用方法;即使其未定义为静态
- 29. 静态方法调用
- 30. 通用静态方法