如果这听起来像是一个极其愚蠢的问题,我很抱歉,但它确实一直困扰着我。
什么是“这个”。我看到了吗?每当我看到 flutter 中的文档时,我都会看到它被用于文档中的以下内容:
this.initialRoute,
this.onGenerateRoute,
this.onGenerateInitialRoutes,
this.onUnknownRoute,
this.navigatorObservers
Run Code Online (Sandbox Code Playgroud)
我将非常乐意阅读有关它的任何链接或文档。
Lui*_*uiz 11
“this”关键字引用当前实例。\n仅当存在名称冲突时才需要使用 this。否则,Dart 风格会忽略 this。
\nclass Car {\n String engine;\n\n void newEngine({String engine}) {\n if (engine!= null) {\n this.engine= engine;\n }\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n因此,无论是在构造函数中还是在类中的某些函数中,您都可以与参数的名称保持一致。
\nclass Car {\n String engine;\n\n void updateEngine({String someWeirdName}) {\n engine = someWeirdName;\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n如果您没有名称冲突,则不需要使用它。
\n在其他语言 \xe2\x80\x8b\xe2\x80\x8b(如 Python 和 Swift)中,单词“self”将与“this”执行相同的操作。
\n基本上,this关键字用于表示当前实例。看看下面的例子。
void main() {
Person mike = Person(21);
print(mike.height);
}
class Person {
double height;
Person(double height) {
height = height;
}
}
Run Code Online (Sandbox Code Playgroud)
当我们运行这个省道代码时,它会输出null高度。因为我们height = height内部已经使用了Person构造函数,但是代码并不知道哪个height是类属性。
因此,我们可以使用this关键字来表示当前实例,这将有助于代码理解哪个实例height属于该类。因此,我们可以按如下方式使用它,我们将得到正确的输出。
void main() {
Person mike = Person(21);
print(mike.height);
}
class Person {
double height;
Person(double height) {
this.height = height;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10460 次 |
| 最近记录: |