轻翼逐月 发表于 2012-3-15 14:11:35

类机制问题

先来2个类

class test1{

    protected $arr = array();

    function __construct($arr){
      $this->arr = $arr;
    }

    function t1(){
      //use $this->arr
    }

    function t2(){
      //use $this->arr
    }

}




class test2{

    function get_arr(){
      //get $arr from data
      return $arr;
    }

    function t1(){
      //use $this->get_arr())
    }

    function t2(){
      //use $this->get_arr()
    }

}



这2个类的区别就是得到源数据的区别
test1是直接存在类属性中,初始化后就存在
test2 是通过get_arr函数从文件中获得

现在的问题是,
一:如果都调用一个类中函数(如 t1),test1类除了源数据$arr比test2进来得比较早(test1初始化时源数据$arr就有了,而test2是需要调用get_arr才能得到初始化数据$arr)外还有什么差别(只效率与内存上)
二:这个主要的,就是如果一个页面都调用了t1和t2,test1类的arr数据应该只存在一份,test2的数据调用了2次get_arr,是否在内存中存在两个$arr数组??如果是这样的话是不是就放在类属性中比较好了?

求解答{:soso_e113:}

gaowei 发表于 2012-3-16 19:25:01

个人感觉,test2中get_arr函数是为了获得实时数据,如果在运行过程中数据都不发生变化,自然将数据作为类属性 效率比较高
页: [1]
查看完整版本: 类机制问题