美文网首页
访问关键字this和base有什么作用

访问关键字this和base有什么作用

作者: 目标肢解 | 来源:发表于2016-06-11 23:37 被阅读0次

base常用于,在派生类对象初始化时和基类进行通信。

base可以访问基类的公有成员和受保护成员,私有成员是不可访问的。

在多层继承中,base可以指向的父类的方法有两种情况:一是有重载存在的情况下,base将指向直接继承的父类成员的方法,例如Audi类中的ShowResult方法中,使用base访问的将是Car.ShowResult()方法,而不能访问Vehicle.ShowResult()方法;而是没有重载存在的情况下,base可以指向任何上级父类的公有或者受保护方法,例如Audi类中,可以使用base访问基类Vehicle.Run()方法。

this指代类对象本身,用于访问本类的所有常量、字段、属性和方法成员,而且不管访问元素是任何访问级别。因为,this仅仅局限于对象内部,对象外部是无法看到的,这就是this的基本思想。另外,静态成员不是对象的一部分,因此不能在静态方法中引用this。

通用规则

• 尽量少用或者不用base和this。除了决议子类的名称冲突和在一个构造函数中调用其他的构造函数之外,base和this的使用容易引起不必要的结果。

• 在静态成员中使用base和this都是不允许的。原因是,base和this访问的都是类的实例,也就是对象,而静态成员只能由类来访问,不能由对象来访问。

• base是为了实现多态而设计的。

• 使用this或base关键字只能指定一个构造函数,也就是说不可同时将this和base作用在一个构造函数上。

• 简单的来说,base用于在派生类中访问重写的基类成员;而this用于访问本类的成员,当然也包括继承而来公有和保护成员。

• 除了base,访问基类成员的另外一种方式是:显示的类型转换来实现。只是该方法不能为静态方法。

相关文章

  • 访问关键字this和base有什么作用

    base常用于,在派生类对象初始化时和基类进行通信。 base可以访问基类的公有成员和受保护成员,私有成员是不可访...

  • 访问关键字:Base 和 This

    基本概念 base和this在 C# 中被归为访问关键字,其目的就是实现继承机制的访问操作,来满足对象成员的访问,...

  • 2017.10.25C#

    今天老师讲了this和base关键字 this关键字引用类的当前类 静态成员方法中不能使用this关键字 base...

  • 浅谈ES6中class语法糖中super关键字

    作用: super 关键字用于访问父对象上的函数。 语法: super([arguments]); // 访问父对...

  • 2017-10-23

    知识点 属性、索引器、继承。this关键字只能在实例构造函数、实例方法或实例访问器中使用。base关键字用于从派生...

  • Flutter 基于dio的HTTP请求组件设计

    module_service:继承自base_service主要作用:应用层的访问接口并提供回调;对参数进行封装和...

  • volatile关键字解析

    Volatile关键字有什么作用?Volatile关键字可以保证变量的可见性和有序性 什么是可见性和有序性?要搞清...

  • const在C语言上的定义和用法

    我们经常可以在函数接口参数位置看到有const关键字,但是这个关键字到底有什么作用呢?其实const关键字的作用主...

  • Swift - 15.swift中常用关键字

    关键字作用: Public:被Public修饰的可以在其他作用域被访问,可以在其他作用域被继承或者override...

  • angular基础

    typescript部分 export关键字作用:可以让定义的类型在全局范围内能被访问到。 this关键字的指向:...

网友评论

      本文标题:访问关键字this和base有什么作用

      本文链接:https://www.haomeiwen.com/subject/ncbcdttx.html