Dart中的类术语

时间:2014-09-18 05:00:44

标签: function variables dart field member

Dart中的一些术语对包括我自己在内的新手来说有点混乱。

这是我的理解,但是,我不确定它是否正确。

  1. 成员:类中的变量,包括实例变量,静态变量,构造函数,静态方法和实例方法。
  2. properties:类和实例中成员之间的实例变量。
  3. fields:成员除了类中的方法。
  4. 变量:表示已初始化的实例的名称,或尚未初始化但具有包括动态的类定义的实例。
  5. functions:所有可以包含多个零参数的术语,包括方法。
  6. 方法:在类中定义和声明的函数,包括构造函数,静态方法。
  7. 对象:Dart中的所有术语,除了连词(if,while,for ...)和形容词(静态,最终......)
  8. 第二,是否存在区分类(尚未初始化)和实例(初始化)中的属性的术语?也就是说,在初始化变量和尚未初始化的变量之间。

    第三,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 个答案:

答案 0 :(得分:4)

  1. 成员:类中的变量,包括实例变量,静态变量,构造函数,静态方法和实例方法。
    • 成员是:fields(在类中声明的非静态变量,属性与字段相同),方法
      (字段/属性通常也称为属性,但我认为在Web开发中应该避免这种情况,因为属性通常是指HTML属性)。
    • 变量不被视为成员,除非它们是字段
    • 我不会在Dart中考虑静态字段(属性/函数)成员(但我也不确定)。它们有时被称为类成员静态成员但在Dart中,该类仅仅是一个命名空间,而这些变量函数不像成员那样。
    • 构造函数不是成员
    1. properties:类和实例中成员之间的实例变量。
      • 据我所知,属性与字段相同。通常属性仅指getter / setter但在Dart中它们是相同的,至少在运行时(自动为所有字段创建getter / setter)
      • 我不确定你在class的意思。类通常指静态(见上文)
      • getters / setters(可以像字段一样访问的函数)通常被视为属性
      1. fields:除类中的方法之外的成员。
        • 我只会调用实例变量 fields 和静态变量静态字段
        1. 变量:表示已初始化的实例的名称,或尚未初始化但具有包括动态的类定义的实例。
          • variable是一个声明的标识符,无论在哪里(库,类,实例,函数,方法)都引用内存地址。
          • 尚未初始化的变量不指有效的内存地址('null')。
          1. functions:所有可以包含零参数的术语,包括方法。
            • 参数数量不相关。
            • 可以使用()(arg1, arg2, ...)
            • 调用函数
            • 类中的非静态函数通常称为方法而不是函数。
            • 函数在库级别之外,或在方法或函数内(不确定静态方法在Dart中是否称为 function method )。
          2. void someFunction() => doSomething();
            void someFunction(int a) { doSomething(); }
            
            class A {
              void someMethod() {
                var anonymousFunction = () {
                  doSomething();
                };
            
                anonymousFunction();
              }
            }
            
            1. 方法:在类中定义和声明的函数,包括构造函数,静态方法。
              • 见上文关于静态方法
              • 构造函数不是方法,构造函数是构造函数; - )
              1. 对象:Dart中的所有术语,除了连词(if,while,for ...)和形容词(静态,最终......)
                • 只有一个类的实例是 objects
              2. var a = new A();
                

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

                var x = 5;
                

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