类的静态成员与平时的类成员不一样: 静态成员与指标的实例无关,只与类本身有关.
他们用来得以达成类要卷入的意义和数码,但不包罗特定对象的法力和数据.
静态成员包罗静态方法和静态属性.静态属性饱含在类中要卷入的多少,能够由全部类的实例分享.
实际上,除了归属三个一定的类并限量访问格局外,类的静态属性特别相似于函数的全局变量大家在下例中接受了贰个静态属性Counter::$count.
它归于Counter类,而不归于此外Counter的实例.你不可能用this来引用它,但能够用self或任何有效的命名表明.
在例子中,getCount方法再次来到self::$count,实际不是Counter::$count.静态方法规完结类要求封装的效果,与一定的靶子无关.
静态方法极度周边于大局函数.
静态方法能够完全访谈类的性质,也得以由对象的实例来访谈,无论访谈的限制语是还是不是是什么.在6.3例中,getCount是三个日常的措施,用->来调用.
PHP营造叁个this变量,即便办法未有动用到.不过,getCount不归属其它对象.在多少情形下,大家竟然希望在不真实有效的对象时调用它,那么就相应利用静态方法.
PHP将不在静态方法内部建构this变量,即便你从二个目的中调用它们.例子6.7由6.3变动getCount为静态方法而来.
Static关键字不能够阻挡二个实例用->运算符来调用getCount,但PHP将不在方法内部建构this变量.借让你使用this->来调用,将会出错.//6.3例指第三节–布局函数和析构函数中的例子,通过八个例子的相比较,你能够很好驾驭//static方法与普通方法之间的分化.你能够写二个艺术通过推断this是还是不是创立来展现是或不是它被静态地如故非静态地调用.
当然,假若您用了static
关键字,不管它什么被调用,那些艺术总是静态的.你的类也能够定义常量属性,没有要求运用public
static,只需求用const关键字就能够.
常量属性总是静态的.它们是类的属性,并不是实例化该类的对象的属性.Listing
6.7 Static membersn”卡塔尔; ?>

发表评论

电子邮件地址不会被公开。 必填项已用*标注