gpt4 book ai didi

php - 从子类 php 和 parent 关键字访问 parents 变量?

转载 作者:可可西里 更新时间:2023-10-31 23:10:59 26 4
gpt4 key购买 nike

我有一个父类和一个子类,父类有一个设置 var 的构造函数,我想在子类中使用那个 var,我有它有效,但我对关键字 parent 感到困惑?

例子

 class Sub extends Parent {
public function foo() {
echo $this -> myVar;
}
}

class Parent {
var $myVar;
public function __construct() {
$this -> myVar = 'a';
}
}

这行得通并且我得到了 myVar 的值,但是我是否应该使用关键字 parent 并且当我这样做时我得到一个错误,例如,

 class Sub extends Parent {
public function foo() {
echo parent -> myVar;
}
}

class Parent {
var $myVar;
public function __construct() {
$this -> myVar = 'a';
}
}

最佳答案

首先,Parent 是一个保留字。其次,除非您使用的是旧版本的 PHP,否则不要使用 var。您可以使用 protected 。您不需要使用 parent 关键字来访问变量,因为子类应该继承它。您可以通过 $this->myVar

访问它

编辑澄清

只需要在访问基类的方法或基类的static变量时使用parent::即可。如果您尝试访问基类的非静态变量,您将收到错误 Access to undeclared static property"fatal error:

这是一个帮助您入门的示例。

<?php
class Animal{
protected $myVar;
public function __construct() {
$this->myVar = 'a';
}
}

class Cat extends Animal {
public function foo() {
echo $this->myVar;
}
}

$cat = new Cat();
$cat->foo();

?>

Here's此代码的一个工作示例。

关于php - 从子类 php 和 parent 关键字访问 parents 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10852028/

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