在Actionscript 3中,我无法在接口中声明变量。 我不明白。 我知道我可以通过定义getter和setter来解决这个问题,但如果我只想要一个简单的公共属性呢?如果在设置或获取属性时有什么事情可以做,我通常会使用getter和setter,但是如果我只想存储一个值呢?
答案 0 :(得分:2)
你可以这样说:接口存在,因为在你的语言中你不能从多个抽象基类继承。如果AS3允许你这样做,那么它可能没有'interfaces',而是'pure abstract classses'。
换句话说,在界面中使用属性 implementation 会导致名称冲突,从而导致其他多重继承问题(菱形)。
然而,只有一个没有实现的getter或setter应该可行。
public interface I { function get A():int; }
(我手头没有AS3编译器)
答案 1 :(得分:0)
我不是一个actioscript编程,但是接口(例如java)用于定义行为而不是状态,因此jave中的intrerfaces只是声明实现接口的类需要定义的方法。属性(或实例变量)通常不是定义行为所必需的,接口中不允许使用。