| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3108 人关注过本帖
标题:基类访问与基类引用
只看楼主 加入收藏
czg123698741
Rank: 2
等 级:论坛游民
帖 子:348
专家分:84
注 册:2009-3-4
结帖率:78.99%
收藏
已结贴  问题点数:1 回复次数:3 
基类访问与基类引用
大家好请问一下:
使用基类base来读取之前用派生类new隐藏基类公共成员变量baseclass,
例如:Console.WriteLine(base.baseclass);

使用基类引用,将派生类实例化之后使用其实力话之后的对象来将之前所定义的基类转化为基类,然后输出。
例如:MyDerivedClass derived = new MyDerivedClass();    MyBaseClass mybc = (MyBaseClass)derived;

这里两个都是让派生类所隐藏了的基类重新输出。但是方法截然不同,请问他们有什么不同之处吗???


这个是我自己写的例子方便大家理解我的问题!!!!
代码:
    class MyBaseClass
    {
        public string baseclass = "第一个";
        public void Print()
        {
            Console.WriteLine("这是我的基类");
        }
    }
    class MyDerivedClass:MyBaseClass
    {
        new public string baseclass = "第二个";
        new public void Print()
        {
            Console.WriteLine("这是我的派生类");
        }
        public void Print2()
        {
            Console.WriteLine("没有使用base:{0}", baseclass);
            Console.WriteLine("有使用base;{0}",base.baseclass);
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            MyDerivedClass derived = new MyDerivedClass();
            MyBaseClass mybc = (MyBaseClass)derived;
            derived.Print();
            mybc.Print();

            derived.Print2();
            Console.ReadLine();
        }
    }

[ 本帖最后由 czg123698741 于 2009-10-29 16:24 编辑 ]
搜索更多相关主题的帖子: 基类 访问 
2009-10-29 16:13
一叶之秋
Rank: 2
等 级:论坛游民
帖 子:13
专家分:29
注 册:2009-10-30
收藏
得分:0 
我个人认为是一样的,base一般用在数据初始时候用,在子类中的初始化中直接父类的初始化,
2009-10-30 11:20
czg123698741
Rank: 2
等 级:论坛游民
帖 子:348
专家分:84
注 册:2009-3-4
收藏
得分:0 

????????
2009-10-30 19:29
anony
Rank: 2
等 级:论坛游民
帖 子:26
专家分:49
注 册:2009-10-26
收藏
得分:0 
子类的函数应该继承或重写父类的函数。一般变量的声明为Private,要赋值可以用函数或者属性啊!
对于父类的方法的引用用Base的!也就是使用父类的方法!重新定义要重写的,
public override returnType name(){......}
2009-10-30 21:30
快速回复:基类访问与基类引用
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011117 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved