当前位置:编程学习 > C#/ASP.NET >>

请各位大牛们解释下我的困惑啊我想问下这个winform中的form类作用范围

这个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;

我是初学,如果没表达清楚敬请包涵下啊各位 winform class --------------------编程问答-------------------- 你直接找本 入门知识 就清楚了 --------------------编程问答-------------------- 想直接调用的话 把A 定义成静态类

就可以直接调用A.X --------------------编程问答-------------------- 我在书上看过,没找到关于这个的解释,能帮忙给我解释下吗谢谢 --------------------编程问答-------------------- 首先我想说,你的问题太多了,问的都不懂要别人怎么回答,最好还是分出来好点。
问题不是在那个关键字partial上。
1、X是它的属性,是对象的(不是static之类的),当然要通过对象访问,所以要new。
2、public 的类或属性,在那里都可以访问!
3、方法 Form1和类 A 是同级的,private A a;是成员变量,当然要定义在类的里面,方法的外面!
你还是把成员变量、局部变量,修饰符如protected和public等搞清楚先吧。
--------------------编程问答-------------------- 那比如说类A和类C,它的默认情况下是什么类型的,就是只写Class A,或者Class C是public吗 --------------------编程问答-------------------- 1、为什么不能定义了变量a后,直接调用X呢就是直接用a.x,而不写a=new A()
因为你把X定义成非static类型,那就必须通过实例调用,也就是必须写a=new A()

2、什么在form类可以直接定义A的变量a就是private A a;
这个道理就跟定义 int a一样的 --------------------编程问答-------------------- 谢谢各位明白了 --------------------编程问答-------------------- 它默认类都是internal就是整个程序集,所以都能调用,而直接用A a=new A()作用范围只是这个局部构造函数,所以要定义一个私人变量,然后在整个form类中用是吧 --------------------编程问答--------------------
引用 8 楼 xiaobaig040 的回复:
它默认类都是internal就是整个程序集,所以都能调用,而直接用A a=new A()作用范围只是这个局部构造函数,所以要定义一个私人变量,然后在整个form类中用是吧


理解有偏差。。。
你可以直接private A a=new A();
类里的字段如果没有访问修饰符,默认为private
pirvate A a等价于A a --------------------编程问答-------------------- 那么在form构造函数中直接private A a=new A()中的a的作用范围是不是只在form构造函数里啊 --------------------编程问答-------------------- 应该看看所谓的面向对象编程的书。了解下。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,