/*声明一个类成员为静态时,意味着无论有多少个类的对象被创建,只会有一个该静态成员的副本
1.所有对象共享
2.不需要声明直接调用
3.类加载时创建
*/
class Calc
{
private Calc()
{
}
private static double numbera;
public double NumberA
{
get { return numbera; }
set { numbera = value; }
}
private static double numberb;
public double NumberB
{
get { return numberb; }
set { numberb = value; }
}
public static Calc getCalc(double a,double b)
{
numbera = a;
numberb = b;
return new Calc();
}
public double AddFaction()
{
return numbera + numberb;
}
public double SubFaction()
{
return numbera - numberb;
}
}
static void Main(string[] args)
{
Calc cl = Calc.getCalc(9.2, 2.1);
double d1 = cl.AddFaction();
double d2 = cl.SubFaction();
Console.WriteLine($"Once---d1:{d1},d2:{d2}");
cl.NumberA = 3;
cl.NumberB = 4;
d1 = cl.AddFaction();
d2 = cl.SubFaction();
Console.WriteLine($"Senc---d1:{d1},d2:{d2}");
Calc cl2 = Calc.getCalc(2, 2);
Console.WriteLine($"C1A:{cl.NumberA},C1B:{cl.NumberB}");
Console.WriteLine($"C2A:{cl2.NumberA},C2B:{cl2.NumberB}");
}