※ 本文為 dinos 轉寄自 ptt.cc 更新時間: 2013-07-12 23:29:10
看板 PHP
作者 標題 Re: [請益] class繼承問題
時間 Fri Jul 12 20:06:28 2013
※ 引述《htl74421 (<><魚仔<>< 薰~)》之銘言:
: 我目前的疑惑是這樣:
: class grandfather { //祖父
: public function grandfather()
: {
: //
: }
: public function get_data()
: {
: echo 'hello';
: }
: }
: class father extends grandfather { //爸爸
: public function father()
: {
: //
: }
: }
: class child extends father{ //小孩
: public function child()
: {
: //
: }
: public function test()
: {
: parent::get_data();
: }
: }
: $a = new child();
: $a->test();
恕刪...
我覺得這不是OO相性的問題,而是設計模式錯了
一直繼承並不是個好例子
你可以用骨架模式或裝飾者模式來進行
abstract class 人猿{
public 對像;
public function 結婚($model);
}
class 阿公 extends 人猿{
public function gf(){
}
}
class 阿爸 extends 阿公{
public function father(){
}
}
class 死囡仔 extends 阿爸{
public function child(){
}
public function 結婚($model){
$this->對像 = model;
}
}
interface i瘦女人{
public function 生子();
}
interface i有兇女{
public function 嘿嘿();
}
class 女人甲 implements i瘦女人{
public function 生子(){
return 生一個;
}
}
class 女人乙 implements i瘦女人, i有兇女{
public function 嘿嘿(){
return 傳教士;
}
public function 生子(){
return 生兩個;
}
}
=============================================
開工
各個不同代的人應該要再區別他們的偏好,在同樣行為下,但是有不同的目的
$cm30 = new 死囡仔;
$marry1 = $cm30->結婚(new 女人乙);
$marry1->對像->嘿嘿(); //嘿嘿
$marry1->對像->生子();
這也是為什麼JAVA的書一直提到
"多用合成,少用繼承" 的原因...
p.s 回原PO問題
你應該就是要有相同結婚的行為
但要的結果或目的是又可擴充選擇的
那麼就可以以"女人"interface來做同樣行為下不同的邏輯結構,演算
做出不同
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 1.34.4.90
※ 編輯: dlikeayu 來自: 1.34.4.90 (07/12 20:24)
推 :abst"r"act,修一下。1F 07/12 21:00
OK!※ 編輯: dlikeayu 來自: 1.34.4.90 (07/12 21:10)
--
※ 看板: dinos 文章推薦值: 0 目前人氣: 0 累積人氣: 108
作者 dlikeayu 的最新發文:
- 這幾天收到AWS的通知 說我的EC2 Instance 去攻擊別人 說我在05/30中午, 05/31早上這兩天攻擊別人 除了攻擊別人的80port 也有攻擊其它的port 我查了幾個log ngin …28F 1推
- 餓死抬頭 現場的DPP WIFI網速快嗎? 我朋友有拍到警察把人拉到後面打的照片 我想帶筆電過去支援上傳60F 41推
- 無聊想問一下 奧斯卡最強自拍 奧斯卡 主持人與眾星玩自拍 - Yahoo奇摩新聞 閱讀Yahoo奇摩新聞上的「奧斯卡 主持人與眾星玩自拍」。 (中央社洛杉磯2日綜合外電報導)美國主持人艾倫狄珍妮絲(E …131F 79推
- 二十多年前 因為我們家失去一位親人 我媽因此找了宗教來幫助 那時我就常跟著"見證"偉大的妙天禪師 無論是各地演講啊 到一些學校、幼稚園租場地打禪 常常不小心因此而睡著 妙天禪師也如 …18F 4推
- 首先恭喜各位購入了MBA 想必興奮的同時心也在漟血 看到很多文章提到了有關記憶體及硬碟容量及速度問題 這邊小弟有幾個小小的建議提供各位參考: 一、 MBA的空間配置 一般SSD是有寫入壽命的,正常使用 …25F 9推 1噓
點此顯示更多發文記錄
瞎
guest
回列表(←)
分享