在CodeIgniter中扩展父方法

时间:2015-11-10 17:16:45

标签: php codeigniter

我有一个班级Parent,其方法为calculateRevenue();

我还有一个扩展Child的课程Parent。我想要做的是在ChildcalculateRevenue();中使用相同的方法名称,它将调用Parent类方法的方法,然后执行Child方法。 / p>

这可能吗?或者相同的名称将覆盖方法功能而无法调用Parent方法?

2 个答案:

答案 0 :(得分:2)

是的,这是可能的。

class Ancestor
{
    public function someMethod()
    {
        return 'foo';
    }
}

class Child extends Ancestor
{
    public function someMethod()
    {
        $results = parent::someMethod();

        return $results . ' bar';
    }
}

$c = new Child;

echo $c->someMethod() . "\n";

输出:foo bar

parent manual entry

答案 1 :(得分:2)

这将是这样的:

class Parent {
   public function calculateRevenue() {
       return 1;
   }
}

class Child extends Parent {
   public function calculateRevenue() {
       $parentRevenue = parent::calculateRevenue();
       return 1 + $parentRevenue;
   }
}

您必须使用保留字“parent”来调用类父方法。

在这种情况下,“Child”类使用“extend”关键字来ihnerit“Parent”类方法。现在,“Child”类可以使用所有父方法和保留关键字“parent”。