PHP oop之大討論 --- 你究竟有無在用OOP


   由於是午休時間寫的 所以不太詳細盡情諒解。

   主要還是老生常談的問題 OOP 。。。

   工作兩年 對OOP 這玩意有些自己的理念 ,但翻遍了各大書店的OOP 介紹都是天馬行空 (很像是一個人寫的)

   

<?php
  class Car{
      
      public getName(){
          return $this->name;
      }
      public getSpeed(){
          return $this->speed;
      }
 }


?>

這種東西相信只會出現在書上 真正項目基本看不到這類代碼。。(JAVAbean除外)

而根據這類思路我有了以下代碼:

<?php
class Order{
     private _GoodsArr = array();
     public function __construct(){
        
     }
     /*
      * @return Goods {}
      */
     public function getGoods(){
        //查找訂單下的商品編號  Goods_sn
        foreach($Goods_sn as $goods_sn)
           array_push($this->_GoodsArr, new Goods($goods_sn));
        return $this->_GoodsArr;
     }
}

class Goods{

    public function getName(){}
}
$order1 = new Order('AANBA01');
$goodsArr = $order1->getGoods();
foreach($goodsArr as $goods){
   echo $goods->getName().'<br>';
}
?>

但這卻和項目開發中的代碼有悖

<?php
class Order{
    
    public function __construct(){}
    public function getGoodsInfo(array('name','price')){
       //進行數據結構的組織   
    }
}
$order2 = new Order('AANBA02');
echo $order2->getGoodsInfo(array('price'));
?>

個人覺得第一種比較符合面向對象規范 。但實際開發中往往都是第二種。

因為不是一個人開發所以只能順着大部分程序員的寫法來。 但這樣代碼的可復用性 大打折扣 

相同功能寫上好幾遍  不知大家是否支持我的看法。 歡迎拍磚~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM