您的位置:程序门 -> .net技术 -> c#



mm有难,c#类超级继承问题,高手请进!


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


mm有难,c#类超级继承问题,高手请进!
发表于:2007-03-13 22:50:24 楼主
为什么我得不到想要的结果!

class   a
{
      public   string   myname   =   " ";
      public   string   getname()
      {
            return   myname;
      }
}

class   b:a
{
    public   b()
    {  
          myname   =   "alis ";
    }
}

b   bobj   =   new   b();
string   myname   =   getname();

结果myname   是 " ",而不是   "alis ",   为什么呢?我在构造函数中赋值了呀?

成员变量是不是不能重载的,如果要在继承的变量中得到我想要的结果,应该用什么方式实现?
发表于:2007-03-13 23:00:421楼 得分:0
我用相同代码试了,是 "alis "啊.

using   system;
using   system.collections.generic;
using   system.text;

namespace   aa
{
        class   a
        {
                public   string   myname   =   " ";
                public   string   getname()
                {
                        return   myname;
                }
        }

        class   b   :   a
        {
                public   b()
                {
                        myname   =   "alis ";
                }
        }
       
        class   program
        {
                static   void   main(string[]   args)
                {
                        b   bobj   =   new   b();
                        string   myname   =   bobj.getname();
                        console.writeline(myname);
                }
        }
}
发表于:2007-03-14 01:02:122楼 得分:0
我试了,是“alias "
namespace   consoleapplication2
{
        class   a
        {
                public   string   myname   =   " ";
                public   string   getname()
                {
                        return   myname;
                }
        }

        class   b:a
        {
                public   b()
                {
                        myname   =   "alias ";
                }
        }

        class   program
        {
                static   void   main(string[]   args)
                {
                        b   b1   =   new   b();
                        string   name   =   b1.getname();
                        console.writeline(name);
                }
        }
}
发表于:2007-03-14 08:08:073楼 得分:0
真是有鬼,我就是只能得到“”,沒有 "alis "   !
发表于:2007-03-14 08:35:084楼 得分:0
string   myname   =   getname();

改成这样:

string   myname   =   bobj.getname();
发表于:2007-03-14 08:38:045楼 得分:0
你把你的完整的代码贴出来看看
发表于:2007-03-14 08:48:546楼 得分:0
应该这样写:
using   system;
using   system.collections.generic;
using   system.text;

namespace   aa
{
        class   a
        {
                public   string   myname   =   " ";
                public   string   myname
                {
                        get{
                        return   myname;
                        }
                        set
                        {
                          myname   =   value;
                          }  
                }
        }

        class   b   :   a
        {
                public   b()
                {
                        myname   =   "alis ";
                }
        }
       
        class   program
        {
                static   void   main(string[]   args)
                {
                        b   bobj   =   new   b();
                        console.writeline(bobj.myname);
                        console.readline();
                }
        }
}
发表于:2007-03-14 10:15:547楼 得分:0
mark


快速检索

最新资讯
热门点击