A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

如题!
this与base是什么意思,有什么作用,调整构造函数的顺序有什么作用

评分

参与人数 1技术分 +1 收起 理由
潘梦军 + 1

查看全部评分

3 个回复

倒序浏览
1. this和base在C#中被归于访问关键字;
2.C#中的this用于引用类的当前实例,也包括继承而来的方法,通常可以隐藏this;
3.C#中的base用于在派生类中实现对基类公有或者受保护成员的访问,但是只局限在构造函数、实例方法和实例属性访问器中;
4.this相当于自己的指针;
5.base相当于父类的指针。

评分

参与人数 1技术分 +1 收起 理由
潘梦军 + 1

查看全部评分

回复 使用道具 举报
楼上这位大神从来都是沙发。。。
这两个关键字使用你只需要区别一点即可
this泛指自己的,base泛指父类的(基类),this关键字在C#和java中往往都是省略了的,不常用
但在js当中this关键字使用非常普遍,它泛指当前操作的对象。
希望对你有所帮助

评分

参与人数 1技术分 +1 收起 理由
潘梦军 + 1

查看全部评分

回复 使用道具 举报
来迟了 楼上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  = 子类

评分

参与人数 1技术分 +1 收起 理由
潘梦军 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马