实例变量

当一个类声明一个实例变量时,它会确保每个实例都有自己的唯一变量复制。对象的实例变量需要占用内存,这块内存是在对象创建时分配的。重要的是,此内存在被访问之前,应该被设置为某些合理的值。

Dart会将每个新分配的变量(不只是实例变量,还包括局部变量、类变量和顶层变量)初始化为null。在Dart中,与其他对象一样,null也是一个对象。我们不能把null与其他对象混淆,如0或false。null对象只是在Dart核心库中定义的Null类的唯一实例。这种情况与其他语言如C、C++、C#、Java或JavaScript是不一样的,但这是一切皆为对象的理念所带来的必然结果。

声明实例或静态变量会自动引入一个getter。如果变量是可变的,则一个setter也会被自动定义。事实上,Dart中的字段都不是直接访问的,所有对字段的引用是对存取器方法的调用。只有对象的存取器才能直接访问它的状态,所有访问对象状态的代码都必须通过这些存取器方法,这意味着每个类的底层都可以随时修改,且不需要客户端修改代码,甚至重新编译也不需要!

results matching ""

    No results matching ""