顯示廣告
隱藏 ✕
※ 本文為 dinos 轉寄自 ptt.cc 更新時間: 2013-07-12 23:29:10
看板 PHP
作者 dlikeayu (太陽拳vs野球拳)
標題 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)
tkdmaf:abst"r"act,修一下。1F 07/12 21:00
OK!
※ 編輯: dlikeayu        來自: 1.34.4.90            (07/12 21:10)

--
※ 看板: dinos 文章推薦值: 0 目前人氣: 0 累積人氣: 108 
作者 dlikeayu 的最新發文:
  • +1 Fw: [問題] 網站被當Dos攻擊的跳台 - Web_Design 板
    作者: 61.230.91.157 (台灣) 2014-06-01 02:17:45
    這幾天收到AWS的通知 說我的EC2 Instance 去攻擊別人 說我在05/30中午, 05/31早上這兩天攻擊別人 除了攻擊別人的80port 也有攻擊其它的port 我查了幾個log ngin …
    28F 1推
  • +41 [問題] 現場的DPP WIFI快嗎? - FuMouDiscuss 板
    作者: 1.34.4.90 (台灣) 2014-03-24 02:47:24
    餓死抬頭 現場的DPP WIFI網速快嗎? 我朋友有拍到警察把人拉到後面打的照片 我想帶筆電過去支援上傳
    60F 41推
  • +79 [閒聊] 奧斯卡最強自拍 - MobileComm 板
    作者: 111.249.134.122 (台灣) 2014-03-03 13:04:11
    無聊想問一下 奧斯卡最強自拍 奧斯卡 主持人與眾星玩自拍 - Yahoo奇摩新聞 閱讀Yahoo奇摩新聞上的「奧斯卡 主持人與眾星玩自拍」。 (中央社洛杉磯2日綜合外電報導)美國主持人艾倫狄珍妮絲(E …
    131F 79推
  • +4 Re: [問卦] 有沒有因為妙禪而和家人失和的八卦 - Gossiping 板
    作者: 60.250.38.210 (台灣) 2014-01-10 16:54:25
    二十多年前 因為我們家失去一位親人 我媽因此找了宗教來幫助 那時我就常跟著"見證"偉大的妙天禪師 無論是各地演講啊 到一些學校、幼稚園租場地打禪 常常不小心因此而睡著 妙天禪師也如 …
    18F 4推
  • +8 [教學] 給今天購入MBA的新手一些建議 - MAC 板
    作者: 60.250.38.210 (台灣) 2014-01-10 05:10:07
    首先恭喜各位購入了MBA 想必興奮的同時心也在漟血 看到很多文章提到了有關記憶體及硬碟容量及速度問題 這邊小弟有幾個小小的建議提供各位參考: 一、 MBA的空間配置 一般SSD是有寫入壽命的,正常使用 …
    25F 9推 1噓
點此顯示更多發文記錄
分享網址: 複製 已複製
guest
x)推文 r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇