黑马程序员技术交流社区

标题: 构造函数的this()与base()关键词的作用是什么,如何理解他... [打印本页]

作者: 罗志强    时间: 2013-1-11 08:39
标题: 构造函数的this()与base()关键词的作用是什么,如何理解他...
如题!
this与base是什么意思,有什么作用,调整构造函数的顺序有什么作用


作者: 许庭洲    时间: 2013-1-11 08:47
1. this和base在C#中被归于访问关键字;
2.C#中的this用于引用类的当前实例,也包括继承而来的方法,通常可以隐藏this;
3.C#中的base用于在派生类中实现对基类公有或者受保护成员的访问,但是只局限在构造函数、实例方法和实例属性访问器中;
4.this相当于自己的指针;
5.base相当于父类的指针。
作者: 乔培培    时间: 2013-1-11 09:55
楼上这位大神从来都是沙发。。。
这两个关键字使用你只需要区别一点即可
this泛指自己的,base泛指父类的(基类),this关键字在C#和java中往往都是省略了的,不常用
但在js当中this关键字使用非常普遍,它泛指当前操作的对象。
希望对你有所帮助
作者: 林嘉健    时间: 2013-1-11 13:01
来迟了 楼上2位都是讲 理论  我来给楼主贴个例子吧:

public class BaseClass
    {
        protected string _className = "BaseClass";

        public virtual void PrintName()
        {
            Console.WriteLine("Class Name: {0}", _className);
        }
    }

    class DerivedClass : BaseClass
    {
        public string _className = "DerivedClass";

        public override void PrintName()
        {
            Console.Write("The BaseClass Name is {0}");
            //调用父类方法
            base.PrintName();
            Console.WriteLine("This DerivedClass is {0}", this._className);
        }
    }

    class test1
    {
        public static void Main()
        {
            DerivedClass dc = new DerivedClass();
            dc.PrintName();
            Console.ReadKey();
        }
    }
BaseClass = 父类 , DerivedClass  = 子类




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2