Object class 变量是如何创建的?

How Object class variables created?

我有一个问题基于 Object class
在某些面向对象的编程语言中 Object class 变量用于存储值并添加到 ArrayList, ArrayCollection, etc..,
动作脚本示例:

var obj:Object = new Object();
obj.firstName = 'stack';
obj.lastName = 'overflow';

如何创建 firstNamelastName 变量?
为什么 firstName and lastName 不会抛出错误,因为在 Object class 中 firstName 和 lastName 变量不可用。

在您的代码中 Object class 是在 class 中构建的,当您创建 class 的对象时 Object:

 obj:Object = new Object();

你调用这个Class的构造函数,它有自己的变量和方法 变量可能是 publicprivate
在您的示例中,变量 firstName,lastName 是 public 因此您可以通过点 . 直接调用它们并且您可以更改它们的值,而如果它们是 private 您应该使用方法来更改并获取它们的值

所以class的所有变量和方法都封装在里面,当你创建这个class的对象时,它们将被直接创建

在 ActionScript 中,这些被称为 "Dynamic" Classes,Object 是一个基础 class,默认情况下是动态的。

A dynamic class defines an object that can be altered at run time by adding or changing properties and methods. A class that is not dynamic, such as the String class, is a sealed class. You cannot add properties or methods to a sealed class at run time.

http://help.adobe.com/en_US/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7f89.html

作为比较,在 C# 中这类似于 "ExpandoObject" Class。

Represents an object whose members can be dynamically added and removed at run time.

https://msdn.microsoft.com/en-us/library/system.dynamic.expandoobject%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396