darasion
(Darasion)
1
假设我这里有个类A、B
class A{
//很多很多方法
}
class B extends A {
//假设比A多两个
public function fa() {}
public function fb() {}
}
我想把B的行为绑定在某个Component上,B就必须继承自CBehavior,而B现在已经继承了A,不能多继承了,如果用IBehavior就要重复实现接口中的方法。
如果写一个类C,让它引用B来实现A、B中的所有方法,那么就要在C中重复写A、B的方法,并且AB有改动时,又要改C。
这种情况我该做呢样做比较好呢? 求解。
darasion
(Darasion)
3
A 好像不能在继承别的类了,因为他是一个 php 扩展。
DavidHHuan
(Davidhhuan)
4
还是不明白,B继承A,C继承B,那C不就有了A,B的方法了吗?为什么还要在C中重复写A,B的方法
darasion
(Darasion)
5
我的啥意思是说,A是一个[color="#FF0000"]php extension[/color] ,不是在php代码中 class A … 这样定义出来的。而是由C代码编译进去的。
我想让一个 CComponent 拥有 A 的 Behavior 。该怎么做?
php extension 一般都是implement ,可以被当作接口实现的,比如标准库里面的SPL