为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用另一个类的值

如何使用另一个类的值

C#
30秒到达战场 2021-11-07 20:29:18
我想要一个类或其他更好的东西来存储我想在其他类中使用的常量值。例如,我想要一个名为 A 的类,它看起来像public class A{  public int x = 1;}在另一个类中,我想在方法中使用该值:class B{  public void test()  {    int y = A.x;  }}我知道这是错误的,这只是我想使用的一个例子。这可能是一个基本问题,但我对编程没有太多经验。
查看完整描述

3 回答

?
慕虎7371278

TA贡献1802条经验 获得超4个赞

将所有内容都公开是不好的做法。访问修饰符设置方法、类或变量的可访问性。同时,面向对象编程有四大支柱。抽象继承多态封装

希望这一定会帮助你。


同时在您的问题中,如果您确实需要访问 A 类的行为或方法,您可以将其设为静态并在另一个类中访问。


public class A{


    public static int x = 1; 

    public static void print(){

        //some code here

    }

}


public class B{


    public void test(){

        int a = A.x;

        A.print();

    }

}

或者另一种方法是将 x 设为私有并为其设置 getter 和 setter。在类 B 中初始化 A 的实例并通过其实例访问它。


A obj = new A();

int a = obj.getX();


查看完整回答
反对 回复 2021-11-07
?
梦里花落0921

TA贡献1772条经验 获得超6个赞

您必须A在 classB中创建 class 的实例才能访问它的属性(或者在您的情况下它是 field x)。


internal class A {

    public int X { get; set; } = 1;

}

internal class B {

    private A myInstanceOfA = new A();

    public void test() {

        int y = myInstanceOfA.X;

    }

}

但是,您可以在A不创建本地实例的情况下访问类的静态和常量成员:


internal class A {

    public const int X = 1;

}

internal class B {

    public void test() {

        int y = A.X;

    }

}


查看完整回答
反对 回复 2021-11-07
?
守候你守候我

TA贡献1802条经验 获得超10个赞

您可能想要的是一个const或static变量,您可以在其中定义一个值并在不初始化类的情况下访问它。


用你的例子,它会是这样的:


public class A {

    public const Int32 ConstantVariable = 0;


    // or


    public static Int32 StaticVariable = 0;

}


public class B {

    public void test() {

        Int32 y = A.ConstantVariable;


        // or


        Int32 y = A.StaticVariable;

    }

}

请注意,const变量需要当场初始化一个值并且不能更改值,而static变量可以在运行时分配并随时更改。


查看完整回答
反对 回复 2021-11-07
  • 3 回答
  • 0 关注
  • 159 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信