已有56人关注
c#从入门到精通 第137页代码错了吧?
发表在C#图书答疑 2009-09-25
是否精华
版块置顶:
using System;
using System.Collections.Generic;
using System.Text;

namespace _
{
    /// <summary>
    /// 自定义类,封装加数和被加数属性
    /// </summary>
    class MyClass1
    {
        private int x = 0;                                 //定义int型变量,作为加数
        private int y = 0;                                 //定义int型变量,作为被加数
        /// <summary>
        /// 加数
        /// </summary>
        public int X
        {
            get
            {
                return x;
            }
            set
            {
                x = value;
            }
        }
        /// <summary>
        /// 被加数
        /// </summary>
        public int Y
        {
            get
            {
                return y;
            }
            set
            {
                y = value;
            }
        }
    }
    /// <summary>
    /// 自定义类,封装求和方法
    /// </summary>
    class MyClass2
    {
        MyClass1 myclass1 = new MyClass1();      //实例化MyClass1的对象
        /// <summary>
        /// 求和
        /// </summary>
        /// <returns>加法运算和</returns>
        public int Add()
        {
            return myclass1.X + myclass1.Y;
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            MyClass1 myclass1 = new MyClass1();    //实例化MyClass1的对象
            MyClass2 myclass2 = new MyClass2();    //实例化MyClass2的对象
            myclass1.X = 3;                        //为MyClass1类中的属性赋值
            myclass1.Y = 5;                        //为MyClass1类中的属性赋值
            Console.WriteLine(myclass2.Add());     //调用MyClass2类中的Add方法求和
        }
    }
}


结果为什么是0啊?应该是8的 
分享到:
精彩评论 3
小科_mrkj
学分:43 LV2
2009-10-05
沙发
读者朋友:
    您好,后面使用myclass2.Add()方法执行的时候,调用的是myclass1类中的X\Y的默认值,所以结果是0。
mwyhbu
学分:0 LV1
2009-10-07
板凳
我也知道是0的原因,可是那样的话就说明不了要讲的内容了,按着那一节的意思,要说明的问题是要等于8才能说明,如果是0的话,相当于什么都没说啊。
小科_mrkj
学分:43 LV2
2009-10-07
地板
读者朋友:
    您好,谢谢您提出的问题,这个例子是有点问题,您可以直接把Add方法放在第一个类中,第二个类没有实际意义,我们会在以后再版的时候对其进行修订。
首页上一页 1 下一页尾页 3 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照