Php 当第一个类被实例化而不使用构造函数时,是否可以实例化第二个类?
很抱歉,标题措词不当。我对面向对象的PHP了解不多,所以我想不出更好的标题(或者我的问题的答案!) 好的,我有这样的东西:Php 当第一个类被实例化而不使用构造函数时,是否可以实例化第二个类?,php,oop,Php,Oop,很抱歉,标题措词不当。我对面向对象的PHP了解不多,所以我想不出更好的标题(或者我的问题的答案!) 好的,我有这样的东西: Class foo{ var $hello; function foo(){ } } Class customfoo extends foo{ //No Constructor } Class customfoo extends foo{ var $custom; function __construct(){
Class foo{
var $hello;
function foo(){
}
}
Class customfoo extends foo{
//No Constructor
}
Class customfoo extends foo{
var $custom;
function __construct(){
parent::__construct();
$this->custom = new customclass();
}
}
现在,我编写了另一个类,我们称它为customclass
,我想在customfoo
类中使用它。但是,我不只是想在customfoo
类中使用它,我希望在创建customfoo
类后立即创建它
通常情况下,我想,你只需要使用构造函数,比如:
Class customfoo extends foo{
var $custom;
function customfoo(){
$this->custom = new customclass();
}
}
但是,
customfoo
是一个子类,因此,我认为构造函数将替换父类的构造函数,我不希望发生这种情况。那么,当customfoo
首次启动时,如何创建类customclass
?我想,我可以编写一个任意函数,然后通过其他函数调用它(我确信它很早就执行了),但至少知道如何执行上述操作会很好。首先,您应该将您的constructor命名为\u construct
正如您所指出的,您编写的构造函数将覆盖父类的构造函数,但您始终可以从子类调用它,如下所示:
Class foo{
var $hello;
function foo(){
}
}
Class customfoo extends foo{
//No Constructor
}
Class customfoo extends foo{
var $custom;
function __construct(){
parent::__construct();
$this->custom = new customclass();
}
}
首先,您应该将您的constructor命名为
\u construct
正如您所指出的,您编写的构造函数将覆盖父类的构造函数,但您始终可以从子类调用它,如下所示:
Class foo{
var $hello;
function foo(){
}
}
Class customfoo extends foo{
//No Constructor
}
Class customfoo extends foo{
var $custom;
function __construct(){
parent::__construct();
$this->custom = new customclass();
}
}
在PHP中,类的构造函数是
\uu construct()
。使用与构造函数同名的函数是不可取的,并且只适用于向后兼容。你不应该再使用它了。@vascowhite是的,我不打算。我正在编写的代码已经是这样写的,所以我下意识地复制了它。在PHP中,类的构造函数是\uu construct()
,这可能会有所帮助。使用与构造函数同名的函数是不可取的,并且只适用于向后兼容。你不应该再使用它了。@vascowhite是的,我不打算。我正在编写的代码已经是这样写的,所以我下意识地复制了它。这可能会有帮助哦,是的,你对\u构造的看法是正确的。代码已经编写好了,所以我保持原样。至于你的解决方案,嗯,那很有趣。那么,嗯,父类是一个关键字,还是我把父类的名称放在那里?不,父类是一个保留关键字。您可以在php手册中找到更多信息:@zermy看起来您应该阅读这本书或一本关于php的OOP的好书/网站。有很多很好的教程。哦,是的,你对\u构造的理解是正确的。代码已经编写好了,所以我保持原样。至于你的解决方案,嗯,那很有趣。那么,嗯,父类是一个关键字,还是我把父类的名称放在那里?不,父类是一个保留关键字。您可以在php手册中找到更多信息:@zermy看起来您应该阅读这本书或一本关于php的OOP的好书/网站。有很多很好的教程。