我正在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();
}