在 Actionscript 3 中,我不能在接口(interface)中声明变量。
我不明白。
我知道我可以通过定义 getter 和 setter 来解决这个问题,但是如果我只想要一个简单的公共(public)属性怎么办?如果在设置或获取属性时有事可做,我通常会使用 getter 和 setter,但如果我只想存储一个值怎么办?
最佳答案
你可以这样说:接口(interface)的存在是因为在你的语言中你不能从多个抽象基类继承。如果 AS3 允许您这样做,它可能不会有“接口(interface)”,而是“纯抽象类”。
换句话说,在你的接口(interface)中实现属性会导致名称冲突,进而导致其他多重继承问题(菱形)。
但是,只有一个没有实现的 getter 或 setter 应该可以工作。
public interface I { function get A():int; }
(我手头没有 AS3 编译器)
关于actionscript-3 - 为什么属性在接口(interface)中不可声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1174299/