function - Dart 中的类术语

标签 function variables dart field member

Dart 中的一些术语对包括我在内的新手来说有点困惑。

这是我的理解,但不知道对不对。

  1. 成员:类中的变量,包括实例变量、静态变量、构造函数、静态方法和实例方法。
  2. 属性:类和实例中成员之间的实例变量。
  3. 字段:类中除方法外的成员。
  4. 变量:表示已初始化实例的名称,或尚未初始化但类定义包含动态的实例。
  5. 函数:所有参数可以超过零的术语,包括方法。
  6. 方法:在类中定义和声明的函数,包括构造函数、静态方法。
  7. 对象:Dart 中除连词(if、while、for ...)和形容词(static、final ...)之外的所有术语

其次,是否有术语区分类中的属性(尚未初始化)和实例中的属性(已初始化)?也就是说,在已初始化变量和未初始化变量之间。

第三,Dart有类层次图吗?我找到了一个非常简单的,但不像其他语言那样。

第四,我已经猜到句子(A)是从句子(B)派生出来的。对吗?

(A) int x = 1;
(B) var x = int(1); //int() is the default constructor of class int. All the same to String, double, Map, List

...

我想对几位学习 Dart 的韩国学生表示感谢。

最佳答案

  1. 成员:类中的变量,包括实例变量、静态变量、构造函数、静态方法和实例方法。
    • 成员有:字段(类中声明的非静态变量,属性同字段),方法
      (字段/属性通常也称为属性,但我认为在 Web 开发中应该避免这种情况,因为属性通常指的是 HTML 属性)。
    • 变量不被视为成员,除非它们是字段
    • 我不会考虑 Dart 中的static 字段(属性/函数)成员(但我对此也不确定)。它们有时被称为类成员静态成员,但在 Dart 中,类仅作为命名空间,这些变量函数不像成员一样。
    • 构造函数不是成员
  1. 属性:类和实例中成员之间的实例变量。
    • 据我所知,属性与字段相同。通常属性仅指 getters/setters,但在 Dart 中它们是相同的,至少在运行时是这样(getters/setters 是为所有字段自动创建的)
    • 我不确定这里的 class 是什么意思。类通常是指静态(见上文)
    • getters/setters(可以像字段一样访问的函数)通常被视为属性
  1. 字段:类中除方法外的成员。
    • 我只会调用实例变量 fields 和静态变量 static fields
  1. 变量:表示已初始化实例的名称,或尚未初始化但类定义包括动态的实例。
    • 变量是声明的标识符,无论在何处(库、类、实例、函数、方法),它都引用内存地址。
    • 尚未初始化的变量引用了无效的内存地址('null')。
  1. 函数:所有参数可以超过零的术语,包括方法。
    • 参数的数量无关紧要。
    • 可以使用 ()(arg1, arg2, ...)
    • 调用函数
    • 类中的非静态函数通常称为方法,而不是函数。
    • 函数在库级别的类之外,或者在方法或函数内(不确定静态方法在 Dart 中是指函数还是方法)。<
void someFunction() => doSomething();
void someFunction(int a) { doSomething(); }

class A {
  void someMethod() {
    var anonymousFunction = () {
      doSomething();
    };

    anonymousFunction();
  }
}
  1. 方法:在类中定义和声明的函数,包括构造函数、静态方法。
    • 参见上面关于静态方法的内容
    • 构造函数不是方法,构造函数是构造函数;-)
  1. 对象:Dart 中除连词(if、while、for ...)和形容词(static、final ...)之外的所有术语
    • 只有类的实例是对象
var a = new A();

new A(); 创建 A 的实例。 a 引用 a(对象)的实例。

var x = 5;

创建 int 的实例,x 引用此实例(对象)。

关于function - Dart 中的类术语,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25904454/

相关文章:

javascript - JS : "this" in function context in strict mode, MDN 规范与 chrome 67 实现不匹配

c - 使用指向从函数返回的结构的指针

php - 整数百分比 PHP

visual-studio - URI 的目标不存在 : 'package:english_words/english_words.dart' . dart

php - 延迟函数 PHP

php - 在 jquery 函数中使用 HTML/PHP 代码

函数结束后的 C++ 变量

java - 使用 Java 保留变量作为名称

dart - 如何在Polymer Dart中进行自定义验证

dart - 在Dart中,如何在浏览器中逐行读取文件?