gpt4 book ai didi

PHP继承和在父构造中设置变量

转载 作者:行者123 更新时间:2023-12-02 06:21:17 24 4
gpt4 key购买 nike

您好,我想知道是否有人可以为我阐明以下问题。

我有两个类(class)

第 1 类

class application{
private $something = "hello my name is";

function __construct(){
$this->something .= " bob";
$this->require_login_class_method();
}

public function getName(){
return $this->something;
}

...
}

第 2 类

class login extends application{
function __construct(){
echo $this->getName();
}
}

我的结果总是

"my name is "

没有

"bob"

但是如果我调用(在类登录 - 构造中)

parent::__construct();

有效。

如果我的应用程序类构造方法接受我不想传递或不必传递第二次(从登录时)的变量怎么办?

提前致谢


解决方案

感谢所有回复的人。

到目前为止我收集到的解决方案是执行以下操作

类(class)申请

//if variables are present, make them optional
function __construct($var1 = null, $var2 = null){
//do something
}

类(class)登录

function __construct(){
parent::__construct();
//do something with variables set in parent construct
}

最佳答案

如果您扩展一个类,您可以覆盖构造函数。如果这样做,您必须自己完成在该构造函数中完成的所有工作。您还可以调用父构造函数,并调用那里完成的所有工作。没有真正的第三种选择:要么你调用它,要么你不调用它。

关于PHP继承和在父构造中设置变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8933170/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com