【发布时间】:2014-08-03 15:12:18
【问题描述】:
我试图弄清楚如何在 Hack 中实现访问者模式。它显然需要函数重载多态,但正如我所测试的,这个例子:
<?hh // strict
class Visitor {
public function visit(string $s) : void {}
public function visit(int $i) : void {}
}
产生通常的 PHP 的
Fatal error: Redeclared method Visitor::visit in hh-polymorphism.php on line 4
既然这个失败了,那么我想问一下将来是否有计划支持这个?或者有什么因素会阻止它的实施?
【问题讨论】:
-
您可以将您的函数命名为
visitString、visitInt等。访问者模式不需要重载,通常就是这样。 -
@sepp2k:是的,但这不是重点。我还在某处听说汇编程序之上的任何东西都只是语法糖。
标签: polymorphism language-design language-features hacklang