Php 父类私有属性可从子类访问 子类仅通过调用parent::getName()来访问父类中的名称,而不直接访问它。。。。它唯一一次尝试的时候就得到了注意:未定义的属性:Child_Class::$name那么你认为家长的私有名称属性可以从Child类直接访问
父类私有属性可从子类访问Php 父类私有属性可从子类访问 子类仅通过调用parent::getName()来访问父类中的名称,而不直接访问它。。。。它唯一一次尝试的时候就得到了注意:未定义的属性:Child_Class::$name那么你认为家长的私有名称属性可以从Child类直接访问,php,class,oop,Php,Class,Oop,父类私有属性可从子类访问 子类仅通过调用parent::getName()来访问父类中的名称,而不直接访问它。。。。它唯一一次尝试的时候就得到了注意:未定义的属性:Child_Class::$name那么你认为家长的私有名称属性可以从Child类直接访问到哪里呢?马克·巴克先生谢谢你的回答。问题解决了。巴克先生,在我关闭并重新启动浏览器之前,我实际上没有在php输出中发现任何错误,然后我在第50行的E:\xampp\htdocs\Projects\student\test.php中发现了错误:
子类仅通过调用parent::getName()来访问父类中的名称,而不直接访问它。。。。它唯一一次尝试的时候就得到了注意:未定义的属性:Child_Class::$name
那么你认为家长的私有名称属性可以从Child类直接访问到哪里呢?马克·巴克先生谢谢你的回答。问题解决了。巴克先生,在我关闭并重新启动浏览器之前,我实际上没有在php输出中发现任何错误,然后我在第50行的E:\xampp\htdocs\Projects\student\test.php中发现了错误:注意:未定义的属性:Child\u Class::$name。
<?php
class Parent_Class
{
//Properties defined
private $name = "Faizan";
//Constructor defined
public function __construct () {
echo 'The class "',__CLASS__.'" initialized <br>';
}
//Methods defined
public function setName ($name) {
$this->name = $name;
}
public function getName () {
return $this->name;
}
// __toString() Method
public function __toString () {
return "<b>".__CLASS__."</b> toString magic method called <br>";
}
//Destructor defined
public function __destruct () {
echo 'The class "', __CLASS__,'" destroyed <br>';
}
}
class Child_Class extends Parent_Class
{
//Parent property override
//private $name = "Abdullah";
//Child class constructor override
public function __construct () {
parent::__construct();
echo 'This is the <b>"', __CLASS__, '"</b> constructor. <br>';
}
//Child class __toString() override
public function __toString () {
parent::__toString();
return "<b> ". __CLASS__ . "</b> toString() method <br>";
}
//Parent methods in class override
public function setName ($name) {
$this->name = $name;
}
public function getName () {
return $this->name. " " .parent::getName();
}
//Child class destructor override
public function __destruct() {
parent::__destruct();
echo 'The is the <b>"', __CLASS__, '"</b> destructor. <br>';
}
}
$pObj = new Parent_Class;
echo $pObj->getName()."<br>";
$obj = new Child_Class;
echo $obj;
echo $obj->getName(),"<br>";
//unset($obj);
$obj->setName("Ali");
echo $obj->getName(), "<br>";
echo $pObj->getName()."<br>";
?>