很抱歉,这听起来像是一个非常愚蠢的问题,但这确实困扰着我。
什么是“这个”。我明白了吗?每当我看到文档颤抖时,就会看到它用在文档中的以下内容中:
this.initialRoute,
this.onGenerateRoute,
this.onGenerateInitialRoutes,
this.onUnknownRoute,
this.navigatorObservers
我也很高兴阅读有关它的任何链接或文档。
答案 0 :(得分:3)
基本上,this
关键字用于表示当前实例。看看下面的例子。
void main() {
Person mike = Person(21);
print(mike.height);
}
class Person {
double height;
Person(double height) {
height = height;
}
}
当我们运行这个 dart 代码时,它输出 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;
}
}
答案 1 :(得分:2)
this关键字的使用
The this keyword is used to point the current class object.
It can be used to refer to the present class variables.
We can instantiate or invoke the current class constructor using this keyword.
We can pass this keyword as a parameter in the constructor call.
We can pass this keyword as a parameter in the method call.
It removes the ambiguity or naming conflict in the constructor or method of our instance/object.
It can be used to return the current class instance.
答案 2 :(得分:1)
this 关键字表示指向当前类对象的隐式对象。它指的是方法或构造函数中类的当前实例。 this
关键字主要用于消除类属性和同名参数之间的歧义。当类属性和参数名称相同时,使用 this 关键字通过在类属性前加上 this 关键字来避免歧义。 this
关键字可用于从实例方法或构造函数中引用当前对象的任何成员
此关键字的使用
示例:下面的示例展示了这个关键字的使用
// Dart program to illustrate
// this keyword
void main()
{
Student s1 = new Student('S001');
}
class Student
{
// defining local st_id variable
var st_id;
Student(var st_id)
{
// using this keyword
this.st_id = st_id;
print("GFG - Dart THIS Example");
print("The Student ID is : ${st_id}");
}
}
答案 3 :(得分:0)
'this'关键字引用当前实例。 仅在名称冲突时才需要使用它。否则,Dart样式将忽略此。
class Car {
String engine;
void newEngine({String engine}) {
if (engine!= null) {
this.engine= engine;
}
}
}
因此您可以在构造函数或类中的某些函数中与参数名称保持一致。
class Car {
String engine;
void updateEngine({String someWeirdName}) {
engine = someWeirdName;
}
}
如果您没有名称冲突,则无需使用它。
在其他语言中,例如Python和Swift,单词'self'与'this'的作用相同。