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'));
?>

个人觉得第一种比较符合面向对象规范 。但实际开发中往往都是第二种。

因为不是一个人开发所以只能顺着大部分程序员的写法来。 但这样代码的可复用性 大打折扣 

相同功能写上好几遍  不知大家是否支持我的看法。 欢迎拍砖~

posted @ 2012-10-29 12:37  ﹏Sakura  阅读(4077)  评论(6编辑  收藏  举报