作者chan15 (ChaN)
看板PHP
標題[請益] 物件繼承取得變數問題
時間Thu Oct 18 16:04:06 2012
<?php
class a {
var $name = 'david';
function changeName() {
$this->name = 'phoebe';
}
}
class b extends a {
function showName() {
echo $this->name;
}
}
$a = new a;
$b = new b;
$a->changeName();
echo $a->name . "<br>";
echo $b->showName();
// how to class b get name phoebe
?>
http://pastie.org/5077531
我該怎麼在使用 class a 改變名稱之後,在 class b 取得改變後的內容呢
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.241.32.123
1F:→ LPH66:你的 $a 跟 $b 是兩個不相關的變數... 10/18 16:06
2F:→ chan15:我知道,不知道有沒有什麼寫法是可以抓到 parent 的結果 10/18 16:29
3F:→ MOONRAKER:根本不可能好不好…歐巴馬是人跟你是台灣人有什麼關聯… 10/18 18:44
4F:→ chan15:同事說 singleton 好像有解,我研究一下 10/18 19:04
5F:推 carlcarl:你把a當成b的建構式參數丟進去好了=.= 10/18 21:25
6F:→ MOONRAKER:你要的是把所有物件寫成一個大物件 或通通寫成樹狀 10/19 05:53
7F:→ MOONRAKER:singleton是繞遠路 你完全搞錯方向了 10/19 05:53
8F:推 ChowMein:是說class還是object, 我都看不懂 -_- 10/19 12:20
9F:→ Bambe:$b->changeName(); echo $b->showName(); 即可得結果? 10/19 14:02
10F:→ dlikeayu:你改用封裝的方式吧 10/20 00:56
11F:→ dlikeayu:A,B class 去實做showName 跟 changeName 10/20 00:58
12F:→ dlikeayu:或是用工廠模式去初始化你要的東西 10/20 00:59
13F:推 bibo9901:同ChowMein, 我都看不懂在這弄 Class 還是 Object 10/20 18:33
14F:→ poi987poi987:將變數換成static 的方式可以 10/21 10:16
15F:→ poi987poi987:public static $name = 'david'; 10/21 10:18
16F:→ poi987poi987:內部使用變成 self::$name, 外部可以直接 a::$name 10/21 10:19
17F:→ poi987poi987:可以查查 static 的用法 10/21 10:19