![]() |
1
1
我不确定我理解你的问题。但是下面的Java编译:
尽管我同意
不过,这是个大问题吗?方法签名只捕获如何使用类的契约的一部分。如果您想对代码进行更多的屏蔽,可以使用工厂方法来创建
|
![]() |
2
6
AS3不支持方法重载,但坦率地说,方法重载只是一种语法甜头,通常只会引入歧义和不一致性。 在Java中,一个方法是由它的名字和它的签名来确定的,在AS3中,只有它的名字,但是语义上,只有很少的差别。
和
在AS3中,每个名称只能有一个方法,每个类只能有一个构造函数。但是,构造函数不需要具有兼容的签名。在AS3中,您可以这样解决问题:
您还可以避免EWNLLI提出的Java解决方案中的问题。 编辑: 刚刚看到,您坚持不使用构造函数,而是使用具有不同签名的init方法。为什么?这违反了 Liskov substitution principle . 编辑2: 我想你有两种选择:
抽象基类,多个具体子类:
现在你可以问自己:如果我想怎么办?
这也更加灵活。你现在可以改变简单的
尔兹
|
![]() |
nabster023 · 拉伸和旋转电影剪辑而不失真 7 年前 |
![]() |
BadmintonCat · 获取数组排序的索引 7 年前 |
![]() |
Dimentio · 无限循环(动作脚本3) 7 年前 |
![]() |
steph45 · 它们是一种在数组中找到最接近0的数字的方法吗? 7 年前 |
![]() |
AeroKLiam · AS3-使用组合框进行真/假测验 7 年前 |