这是什么意思。”扑扑?

时间:2020-10-12 19:56:38

标签: flutter dart

很抱歉,这听起来像是一个非常愚蠢的问题,但这确实困扰着我。

什么是“这个”。我明白了吗?每当我看到文档颤抖时,就会看到它用在文档中的以下内容中:

this.initialRoute,
this.onGenerateRoute,
this.onGenerateInitialRoutes,
this.onUnknownRoute,
this.navigatorObservers

我也很高兴阅读有关它的任何链接或文档。

4 个答案:

答案 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 关键字可用于从实例方法或构造函数中引用当前对象的任何成员

此关键字的使用

  • 可以用来引用当前类的实例变量
  • 可用于创建或初始化当前类构造函数
  • 可以在方法调用中作为参数传递
  • 可以在构造函数调用中作为参数传递
  • 可用于创建当前类方法
  • 可以用来返回当前类的Instance

示例:下面的示例展示了这个关键字的使用

// 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}"); 
  } 
}

有关更多信息,请参阅:https://www.geeksforgeeks.org/dart-this-keyword/

答案 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'的作用相同。