【发布时间】:2015-03-09 14:33:59
【问题描述】:
这里有一个简单的父子类,谁能解释一下为什么这不呼应total_pages?我已经传递了价值和一切..
另一件事(不相关的问题),当我已经在父母的构造函数中传递参数时,需要将参数传递给孩子吗?继承不是意味着所有的值都会从父级派生出来吗?
谢谢。
class Book{
protected $total_pages;
protected $page_type;
function set_data($total_pages, $page_type){
$this->total_pages = $total_pages;
$this->page_type = $page_type;
}
}
class Final_look extends Book{
function preview_book(){
echo $this->total_pages;
}
}
$Book = new Book;
$Book->set_data(110, "thick");
$Final_look = new Final_look;
$Final_look->preview_book();
【问题讨论】:
-
正如答案已经说过的那样,您在这里创建了两个不同的对象。您的
$Final_look变量已经是Book类的子对象(因此,它具有所有属性)。您只需要创建Final_look对象,该类已经是Book类的扩展。
标签: php oop object inheritance