类机制问题
先来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:}
个人感觉,test2中get_arr函数是为了获得实时数据,如果在运行过程中数据都不发生变化,自然将数据作为类属性 效率比较高
页:
[1]