我正试图找出我能做到或不做的天气。我有一个名为Template的类。我想在另一个文件中扩展该类功能,但我不想更改名称。
我是否将其声明为
class template extends template
{
// code here
function foo()
{
}
}
class template extends template
{
// code here
function foo()
{
}
}
或者我只是这样宣布它?
class template
{
// write function
function foo()
{
}
}
答案 0 :(得分:28)
仅当父类位于另一个名称空间中时。
use SomeNamespace\Template as BaseTemplate;
class Template extends BaseTemplate
{
//...
}
答案 1 :(得分:1)
如果你想使用原始类的方法/属性,你可以扩展它,但是你必须使用不同的名称,否则你会收到关于重新声明该类的错误。
基本上:
class template {}
/* both fail with "cannot redeclare class template */
class template extends template {}
class template {}
答案 2 :(得分:0)
我很确定你做不到。我建议你做以下事情:
class Template extends TemplateBase
{
// code
}
答案 3 :(得分:-3)
您可能需要查看classkit