Hacklang教程 - 扩展类中的这种类型

时间:2014-03-24 12:41:25

标签: php facebook hacklang

黑客教程 exercice 16 的正确答案是什么? 链接到教程:Hacklang tutorial

我的修改后的代码(未标记为解决方案):

<?hh
// The type 'this' always points to the most derived type
class MyBaseClass {
  protected int $count = 0;

  public function add1(): this {
    $this->count += 1;
    return $this;
  }
}

class MyDerivedClass extends MyBaseClass {
  public function print_count(): void { echo $this->count; }
}

function test(): void {
  $x = new MyDerivedClass();
  $x->add1()->print_count();
}

我将MyBaseClass替换为this,但仍未标记为正确(带练习号的绿色文字)..什么是正确答案?

1 个答案:

答案 0 :(得分:5)

我是Hack的工程师。我很确定在本教程的练习中,我们的完成检测逻辑中存在一个错误。您的代码对我来说是正确的 - 根据我的意见,将返回类型更改为this,就是您应该做的所有事情。我会跟进并修复此错误。对不起!