我学到php的类这里来了,然后学着写了一个类,请问这样的类算不算静态类?在php5里,类比函数的执行效率更高吗?但类里面也是函数,这样不是更麻烦了吗?听说调用类里面的函数时没有先实例化类就直接用类里的函数,只算是用函数,而不是用类的方法,请问这句是什么意思?
class mycls{
static $var=''; //声明静态变量
static function chkVar() //声明静态方法
{
if(self::$var=='kenny')
{
return 'yes';
}
else
{
echo 'no';
}
}
}mycls::$var='kenny';  //通过  类名::属性  访问
echo mycls::chkVar();

解决方案 »

  1.   

    建议你在网上搜一下相关的视频教程,理解起来会比较容易,比如lamp兄弟连或php100的有关类的视频教程,讲得还比较详细。
      

  2.   

    那怎样才算是静态类呢?
    我在网上看到php5中不实例化使用类比实例化使用的速度要快啊~~在php4里则相反。
      

  3.   

    不实例化class,可以每次只访问class中的某个function时就只执行某个function,这样就是所谓的静态类,是吗?吗?而实例化class的话,class中所有的function都会被加载,所以效率可能会比前者要差一点点,但是class中的function可以互相关联,例如继承什么的。是这样的理解吗?
      

  4.   

    面向对象,扯上很多问题。1.什么是静态类。
    在PHP里(当前版本PHP5)没有明确的定义什么是静态类。至少,我开发3年也没研究过什么是静态类。因为就算不申明public class同样可以用用域访问成员函数与变态(当然,它们要是静态的)。2.静态成员的好处。
    静态成员,是在载入过程,就进行内存分配了。它是长驻的(不过PHP是以一个页面为周期)。每一个类都有自已的成员(通过new实例)。只有静态成员才是恒定的。这样可以减少每一次new的资源消耗。经典的用法就是getInstance()方法。在php5手册里就有。3.为什么类里写了函数叫方法,有什么优势。
    封装。LZ一但接触一个大项目就需要长期维护研发的双线流水作业。你如何面对过万(10000)的函数包呢?这就是类将函数封装为方法的目的。每一个类,都是有很明确的方向。class file可以从语义上分析,这是作文件相关的类。那么理所应当file的所有函数写成file的方法,易于后期管理。所以。最初不要太过于知期所以然,耐心的看过一遍,用过一遍。“知其然”就好了。当项目找你的时候,就是你“知其所以然”的时候。