当前位置: 代码迷 >> C# >> 静态属性,静态方法如何抽象
  详细解决方案

静态属性,静态方法如何抽象

热度:411   发布时间:2016-04-28 08:39:47.0
静态属性,静态方法怎么抽象?

    public class A
    {
        private static int i1 = 1;
        private static int i2 = 2;
        public static int add()
        {
            int result = i1 + i2;
            return result;
        }
        public static int sub()
        {
            int result = i1 - i2;
            return result;
        }
    }

    public class B
    {
        private static int i1 = 3;
        private static int i2 = 4;
        public static int add()
        {
            int result = i1 + i2;
            return result;
        }
        public static int sub()
        {
            int result = i1 - i2;
            return result;
        }
    }

  他们的值就这几种确定的值,不需要new对象,直接用静态方法,怎么把这两个方法抽象出来比较好呢?

------解决思路----------------------
你应该用枚举。
------解决思路----------------------
静态的无法抽象
------解决思路----------------------
既然是抽象
而且是抽象方法
那么你应该只关心逻辑,而不要关心值
如果一个方法跟值关联密切,那么根本就没法抽象了
------解决思路----------------------
引用:
这种情况怎么重构,怎么处理,可以给我发个例子吗?谢谢

你写的情况太简单了,说明不了问题。
完全可以用一个类来处理
public class C
{
    private int i1;
    private int i2;
    public int add()
    {
        int result = i1 + i2;
        return result;
    }
    public int sub()
    {
        int result = i1 - i2;
        return result;
    }
    public C(int a, int b){ i1 = a; i2 = b; }
}

C A = new C(1, 2);
C B = new C(3, 4);
  相关解决方案