这个winform中的form类作用范围有多大,比如说我定义了一个A类,B类,C类,A类和B类都从C类得到继承,为什么在form类可以引用A,B,C类,还有我在A类中定义了个属性public int X{GET;SET;},为什么在form类中需要先声明个private A a,然后再a=new A(),接着才能调用A类的属性啊
public partial class Form1 : Form
{
private A a; public Form1()
{
a=new A();
a.X=10;
}
class A: C
{PUBLIC INT X{GTE;SET;}
为什么不能定义了变量a后,直接调用X呢就是直接用a.x,而不写a=new A();还有为什么在form类可以直接定义A的变量a就是private A a;我是初学,如果没表达清楚敬请包涵下啊各位winformclass
public partial class Form1 : Form
{
private A a; public Form1()
{
a=new A();
a.X=10;
}
class A: C
{PUBLIC INT X{GTE;SET;}
为什么不能定义了变量a后,直接调用X呢就是直接用a.x,而不写a=new A();还有为什么在form类可以直接定义A的变量a就是private A a;我是初学,如果没表达清楚敬请包涵下啊各位winformclass
问题不是在那个关键字partial上。
1、X是它的属性,是对象的(不是static之类的),当然要通过对象访问,所以要new。
2、public 的类或属性,在那里都可以访问!
3、方法 Form1和类 A 是同级的,private A a;是成员变量,当然要定义在类的里面,方法的外面!
你还是把成员变量、局部变量,修饰符如protected和public等搞清楚先吧。
因为你把X定义成非static类型,那就必须通过实例调用,也就是必须写a=new A()2、什么在form类可以直接定义A的变量a就是private A a;
这个道理就跟定义 int a一样的
理解有偏差
你可以直接private A a=new A();
类里的字段如果没有访问修饰符,默认为private
pirvate A a等价于A a