C#中窗口(类)之间传值的几种方法!

来源:互联网 发布:单片机的ram空间 编辑:程序博客网 时间:2024/05/21 10:06

作者PeterXu  来源:Blog.CSDN  Blog: http://blog.csdn.net/peterreg/
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出版、作者信息和本声明。否则将追究法律责任。本文地址:http://blog.csdn.net/peterreg/archive/2008/04/08/2259404.aspx

类间的传值在我们的日常编程中,有着举足轻重的作用。各种各样的实现方式在程序的扩展性和性能上有着很大的影响。 

例如:类A的对象实例了类B,对象B中要访问对象A的一个属性A1。
    class A
        {
            private int m_iA1;
            public int A1
            {
                get { return this.m_iA1; }
                set { this.m_iA1 = value; }
            }
        }

1. 将对象A作为参数传给类B,即通过属性或构造函数的形式将A传给B,然后通过B中对象A的引用来调用A1。
      class B
        {
            private A m_oA;
            public B(A a)
            {
                this.m_oA = a;
            }
        }

        class B
        {
            private A m_oA;
            public B()
            {
            }
            public A A
            {
                set { this.m_oA = value; }
            }
        }
 缺点类A和类B的耦合度较高,且一旦有其它类想起到类A的功能时,类A需做较多扩展。
改进:对类A设计出统一的抽象,采用接口或抽象类的模式,在一定程序上可以降低一定的耦合。
关于接口和抽象类的知识,可以参考我以前的一篇文章《接口和抽象类浅析(Interface and abstract class) 》

2. 采用中间文件的格式,如XML、文本文件及数据库等
缺点:效率不高、文件格式需统一,文件需要进行打包和解包
优点:可以传输大量的信息

3. 共享内存空间
缺点:有一定的复杂性,网上有部分参考代码

4. 类A的属性采用静态模式Static
缺点:当有些属性不能设为静态属性时,此方法失效

5.代理
缺点:效率稍微低一点,影响不大
优点:程序的封装性和扩展性较好      

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 四年级的孩子上课喜欢讲小话怎么办 五年级孩子太叛逆怎么办 二年级话唠孩子怎么办 家有老人带孩子怎么办 不会看孩子。孩子一哭就害怕怎么办 孩子不老实爱动怎么办 4周孩子脾气大怎么办 老公脾气暴躁爱骂人怎么办? 当妈妈了脾气不好怎么办 父亲很坏不顾家很会赌钱怎么办 妈妈骂我很难听怎么办 父母管的太严怎么办 2岁宝宝哭闹不止怎么办 8岁儿童叛逆期怎么办 两岁宝宝叛逆期怎么办 4个月小孩哭怎么办 2个月孩子爱哭怎么办 小孩挑衅大人被大人打怎么办 在学校犯了错怎么办 孩子在学校爱捣乱怎么办 小孩老是在学校捣乱怎么办 孩子不听话每天会发火怎么办 孩子不听话控制不住发火怎么办 儿子不听话我总会发火怎么办 小孩好动精力不集中怎么办 孩子好动精力不集中怎么办 一岁半宝宝咳嗽半个月了怎么办 6岁儿童上课调皮怎么办 小孩挨揍后精神失控怎么办 孩子不听话把我胃气疼了怎么办 因为孩子不听话夫妻经常吵架怎么办 11岁儿子不听话了怎么办 二十岁的儿子还不听话怎么办 幼儿园小班幼儿不听老师的话怎么办 幼师对待不听话的孩子该怎么办 2岁宝宝不吃饭只喝奶怎么办 孩子哭着喊妈妈不睡觉怎么办 孩子晚上不睡觉一直哭怎么办 孩子不睡觉还哭怎么办 孩子晚上不睡觉老哭怎么办? 4岁宝宝叛逆期怎么办