public class bat
{
public int a;
void valueA()
{
int a = 20;
}
}
class nah
{
public int b;
void valueB()
{
b = a; // variable a from class bat.
}
}
答案 0 :(得分:1)
您可以将bat
的实例传递到nah
,然后引用a
:
public class bat
{
public int a;
void valueA()
{
int a = 20;
}
}
class nah
{
public int b;
void valueB(bat someBat)
{
b = someBat.a;
}
}
或者将a
设为静态变量,这样您就不需要bat
的实例来引用它:
public class bat
{
public static int a;
void valueA()
{
int a = 20;
}
}
class nah
{
public int b;
void valueB(bat someBat)
{
b = someBat.a;
}
}
关于void valueA()
中的 bat
方法......
在第一种情况下,无法从课外调用bat.valueA()
,因为它不是public
。此外,您还会在20
结束时将valueA()
分配给超出范围的本地变量。
在第二种情况下,你不能在不使其公开和静态的情况下调用valueA()
......并且你仍然要分配一个局部变量,而不是类级变量。
答案 1 :(得分:0)
类只是用于创建对象的模板。您必须创建这些类的实例,即必须使用new
关键字创建对象。
class nah
{
public int b;
void valueB()
{
bat batObject = new bat();
batObject.valueA(); // Set the value.
b = batObject.a; // variable a from class bat.
}
}
在.NET编程中,通常使用PascalCase来表示类名,方法名和属性名。许多程序员使用前缀“_”作为字段名称。字段名称和变量名称用camelCase编写。字段通常保密。将属性用于可公开访问的值。
public class Bat
{
public int A { get; set; }
public void SetValueA()
{
A = 20;
}
}
public class Nah
{
public int B { get; set; }
public void SetValueB()
{
Bat bat = new Bat();
bat.SetValueA();
B = bat.A;
}
}
答案 2 :(得分:0)
public class bat
{
public int a;
void valueA()
{
int a = 20;
}
}
class nah
{
public int b;
void valueB(bat bt)
{
b = bt.a; // variable a from class bat.
}
}
答案 3 :(得分:-1)