Constructor() 中使用的关键字是什么:关键字
What are the keywords that are used in Constructor() : Keyword
我开始学习 C#,我看到在继承中我们这样做 :
derivedClass(): base()
然后我注意到在另一个示例中使用了 :
Constructor(): this(parameter)
我不太明白
我的问题是像这样使用关键字
Constructor() : Keyword
有名字吗?它们有哪些用途?
谢谢!
如其描述here:
base
关键字用于从派生 class:1
中访问基 class 的成员
调用基 class 上已被其他方法覆盖的方法。
指定在创建派生的 class.
实例时应调用哪个 base-class 构造函数
第二个项目符号就是您要查找的内容。 derivedClass
有一个无参数的构造函数,它调用基础class的无参数构造函数。
关于this
,指的是class的当前实例。所以调用这个 Constructor()
会调用另一个应该在 class 中定义的构造函数,它需要一个参数。
规范将这些称为 构造函数初始化器,并将 this
和 base
列为有效。来自规范:
10.11.1 Constructor initializers
All instance constructors (except those for class object) implicitly include an invocation of another
instance constructor immediately before the constructor-body. The
constructor to implicitly invoke is determined by the
constructor-initializer:
• An instance constructor initializer of the
form base
(argument-listopt) causes an instance constructor from the
direct base class to be invoked. ...
• An instance constructor initializer of the form
this
(argument-listopt) causes an instance constructor from the class
itself to be invoked. ...
我开始学习 C#,我看到在继承中我们这样做 :
derivedClass(): base()
然后我注意到在另一个示例中使用了 :
Constructor(): this(parameter)
我不太明白
我的问题是像这样使用关键字
Constructor() : Keyword
有名字吗?它们有哪些用途?
谢谢!
如其描述here:
base
关键字用于从派生 class:1
调用基 class 上已被其他方法覆盖的方法。
指定在创建派生的 class.
实例时应调用哪个 base-class 构造函数
第二个项目符号就是您要查找的内容。 derivedClass
有一个无参数的构造函数,它调用基础class的无参数构造函数。
关于this
,指的是class的当前实例。所以调用这个 Constructor()
会调用另一个应该在 class 中定义的构造函数,它需要一个参数。
规范将这些称为 构造函数初始化器,并将 this
和 base
列为有效。来自规范:
10.11.1 Constructor initializers
All instance constructors (except those for class object) implicitly include an invocation of another instance constructor immediately before the constructor-body. The constructor to implicitly invoke is determined by the constructor-initializer:
• An instance constructor initializer of the form
base
(argument-listopt) causes an instance constructor from the direct base class to be invoked. ...• An instance constructor initializer of the form
this
(argument-listopt) causes an instance constructor from the class itself to be invoked. ...