在C ++中,我用这种方式编码:
//foo.h
class cBar
{
void foobar();
}
//foo.cpp
void cBar::foobar()
{
//Code
}
我尝试在PHP上执行此操作,但解析器会抱怨。 PHP的文档也没有帮助。这可以用PHP完成吗?
答案 0 :(得分:4)
没有。您需要在类块中包含所有函数定义。如果在一个单独的结构中定义你的函数会让你感觉更好,你可以使用一个接口。
interface iBar
{
function foobar();
}
class cBar implements iBar
{
function foobar()
{
//Code
}
}
我建议你习惯以新的方式编码。使用单一语言可以很容易地进行代码编码,但如果你想在各种语言中做同样的事情,我认为你正在进行一场失败的战斗。
答案 1 :(得分:1)
你不能以同样的方式真正做到这一点。
但您可以使用class abstraction和interfaces。两者之间的主要区别在于,接口不允许您指定函数体,抽象对象中的(非抽象)方法可以包含各种默认行为。
<强>抽象:强>
abstract class cBar
{
// MUST be extended
abstract protected function foobar();
// MAY be extended
protected function someMethod()
{
// do stuff
}
}
class cBarExtender extends cBar
{
protected function foobar()
{
// do stuff
}
}
<强>接口强>
interface cBar
{
// MUST be implemented
protected function foobar();
}
class cBarImplementation implements cBar
{
protected function foobar()
{
// do stuff
}
}
答案 2 :(得分:0)
该语言并不真正提供此功能,但如果确实需要它,则可以安装ClassKit扩展名,以便在运行时进行一些动态类修改。