ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
类可以 [实现(第2.3.3节)](http://#) Dynamic 类型,和提供任意字段访问的 Dynamic<T> 。前一种情况,字段可以有任何类型,而后一种,它们被限制兼容参数类型: ~~~ class ImplementsDynamic implements Dynamic<String> { public var present:Int; public function new() {} } class Main { static public function main() { var c = new ImplementsDynamic(); // 有效的,present 是一个存在的字段 c.present = 1; // 有效,分配的值是一个 String c.stringField = "foo"; // 错误,Int应该是 String //c.intField = 1; } } ~~~ 实现 Dynamic 不符合实现其它接口的需求。预期的字段仍然必须被明确实现。实现 Dynamic 的类(带或者不带类型参数)也可以利用一个特别的方法名字叫做 `resolve` 。如果一个[ 读访问(第4.2节)](http://#) 被做出,而且被讨论的字段不存在,`resolve` 方法被调用,并以这个字段的名字作为参数: ~~~ class Resolve implements Dynamic<String> { public var present:Int; public function new() {} function resolve(field:String) { return "Tried to resolve " +field; } } class Main { static public function main() { var c = new Resolve(); c.present = 2; trace(c.present); trace(c.resolveMe); } } ~~~