[英]Child and parent class property
我有一個名為Parent
的類和一個繼承Parent
類的Child
類。 Parent
類有一個屬性filename
與值testfile
。在第一步,我改變這個特性,例如價值anothertestvalue
在Parent
類testFileame
method.Then我嘗試調用方法log
從Child
類和這個方法試圖獲取filename
物業Parent
班。
class Parent {
public $filename = 'filename';
public function setFilename() {
$this->filename = 'anotherfilename'
}
public function log($message, $this->filename) {
//here filename from Child class has value 'filename' but I expect 'anotherfilename'
}
}
class Child extends Parent {
$this->log("somemessage");
}
我希望獲得另一個anothertestvalue
值,但方法使用testfile
。有人可以解釋會發生什么嗎?
我認為您誤解了CLASS和INSTANCE的概念。 您應該有一個子類的實例,該實例調用setFilename。
class MyParent {
private $filename = 'filename';
public function setFilename($name) {
$this->filename = $name;
}
public function log($message) {
//here filename from Child class has value 'filename' but I expect 'anotherfilename'
print $this->filename;
}
}
class MyChild extends MyParent {
//...
}
$child = new MyChild();
$child->setFilename("anotherfilename");
$child->log("somemessage"); // print "anotherfilename"
此處有更多詳細信息: http : //www.php.net/manual/zh/language.oop5.php
好吧,您沒有設置該值。 你剛才定義的方法,將設定的值,如果調用。
簡而言之,請調用方法setFilename()
,然后該值將更改。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.