PHP 获取父类的变量



我正在PHP中尝试OO操作。我想我明白出了什么问题,但我不明白如何解决它。

class Name {
   public $_firstname;
   public $_lastname;
   public function setName($firstName, $lastName){
       $this->_firstname = $firstName;
       $this->_lastname = $lastName;                
   }
   public function getName(){
       echo 'The full name is '. $this->_firstname. ' ' . $this->_lastname .'<br>';
   }
}
class Description extends Name{
    public $_desciprion;
    public function setDescription($description){
        $this->_desciprion = $description;
    }
    public function getDescription(){
        echo $this->_desciprion. ' is written by '.$this->_firstname .'<br>';
    }
}
$firstNames = array("some", "another", "john");
$lastNames = array("body", "body", "doe");
$descriptions = array("description 1", "description 2", "description 3");

for ($i=0; $i < count($firstNames); $i++){
    $name = new Name();
    $name->setName($firstNames[$i], $lastNames[$i]);
    $description = new Description();
    $description->setDescription($descriptions[$i]);
    echo $description->getDescription();
}

我想呼应包含Name$_firstname$description

我真的不知道OO填充它的方法。

思潮?

在您的情况下,$name$description完全无关。但是,这很容易解决:

for ($i=0; $i < count($firstNames); $i++){
    $description = new Description();
    $description->setName($firstNames[$i], $lastNames[$i]);
    $description->setDescription($descriptions[$i]);
    echo $description->getDescription();
}

奖金改进:

foreach ($firstNames as $i => $firstName){
    $description = new Description();
    $description->setName($firstName, $lastNames[$i]);
    $description->setDescription($descriptions[$i]);
    echo $description->getDescription();
}
for ($i=0; $i < count($firstNames); $i++){
    $description = new Description();
    $description->setName($firstNames[$i], $lastNames[$i]);
    $description->setDescription($descriptions[$i]);
    echo $description->getDescription();
}

您正在将名称设置为另一个实例( $name (,以便将名称设置为您必须编写的描述对象:

for ($i=0; $i < count($firstNames); $i++){
    $description = new Description();
    $description->setName($firstNames[$i], $lastNames[$i]);
    $description->setDescription($descriptions[$i]);
    echo $description->getDescription();
}

最新更新