【发布时间】:2015-09-06 02:34:23
【问题描述】:
我知道有一些帖子,但我没有找到我正在寻找的答案,而且很简单。
我知道是否调用静态方法(实例化 (OOP))。
示例,使用静态:
using System;
namespace Projet_Test
{
class surfacesCalcul
{
public static int calc_air(int a, int b){
int result = a * b;
return result;
}
}
/*
* ##########################
* ##########################
*/
class MainClass
{
public static void Main (string[] args)
{
Console.WriteLine(surfacesCalcul.calc_air(4,5));
}
}
}
您调用类(surfacesCalcul).Method,您可以访问该方法。
--
正常,使用 OOP:
using System;
namespace Projet_Test
{
class surfacesCalcul
{
public int calc_air(int a, int b){
int result = a * b;
return result;
}
}
/*
* ##########################
* ##########################
*/
class MainClass
{
public static void Main (string[] args)
{
surfacesCalcul calculMeThis = new surfacesCalcul();
Console.WriteLine(calculMeThis.calc_air(4,5));
}
}
}
您创建一个实例化,然后您可以访问类中的方法。
--
[我的问题] 哪个是最好的,我只是想知道为什么使用静态方法而不是实例或逆方法。有没有真正的原因或两者都是好的。是否有一个比另一个多使用一个的最佳时间?
【问题讨论】:
-
简单地说,静态方法被称为类名
ClassName.StaticMethod()。你不能从一个实例中调用它们 -
每当出现此类问题时,我的建议是:考虑依赖注入优于静态方法。如果 [pure] 方法是 private 那么..这是一个不同的问题。
-
是什么让您如此确定它就像“静态或非静态”一样简单?如果就这么简单,你肯定已经找到答案了吗?
-
@RadioSpace 是的,我知道这一点。抱歉,如果我的帖子不清楚,但这就是我所说的。我只是想知道为什么使用静态方法而不是实例或逆方法。有没有真正的原因或两者都是好的。有没有比另一个多使用一个的最佳时间? - 我会更新我的问题
-
我更喜欢在可能的情况下使用静态,而不是在不可能的情况下使用静态。我不创建实例化。所以这取决于方法