为什么这个对象现在显示任何东西?
Why is this object now showing anything?
好吧,这是一个简单的父子 class,任何人都可以向我解释为什么这没有回应 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();
您创建了 2 个不同的对象! 2个对象在一起没有任何关系,它们完全相互独立!
我想你想要的是这样的:
<?php
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 Final_look;
//^^^^^^^^^^ create Object from 'Final_look' so you can use all functions
$Book->set_data(110, "thick");
$Book->preview_book();
//^^^^^^^^^^^^ Same object which calls this function
?>
输出:
110
好吧,这是一个简单的父子 class,任何人都可以向我解释为什么这没有回应 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();
您创建了 2 个不同的对象! 2个对象在一起没有任何关系,它们完全相互独立!
我想你想要的是这样的:
<?php
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 Final_look;
//^^^^^^^^^^ create Object from 'Final_look' so you can use all functions
$Book->set_data(110, "thick");
$Book->preview_book();
//^^^^^^^^^^^^ Same object which calls this function
?>
输出:
110