仓酷云

标题: PHP编程:第七节--类的静态成员 -- Classes and ... [打印本页]

作者: 莫相离    时间: 2015-2-4 00:21
标题: PHP编程:第七节--类的静态成员 -- Classes and ...
不懂的问题有很多高手帮你解决。但不要认为你是新手,就不能帮助别人,比如今天你学会了怎样安装PHP,明天还可能有朋友会问这个问题,你就可以给他解答,不要认为这是浪费时间,忙别人其实就是帮助自己。object|php5|静态   /*
+-------------------------------------------------------------------------------+
| = 本文为Haohappy读<<Core PHP Programming>>
| = 中Classes and Objects一章的笔记
| = 翻译为主+团体心得
| = 为防止能够产生的不用要的费事请勿转载,感谢
| = 接待品评斧正,但愿和一切PHP喜好者配合前进!
+-------------------------------------------------------------------------------+
*/


第七节--类的静态成员

类的静态成员与普通的类成员分歧: 静态成员与对象的实例有关,只与类自己有关. 他们用来完成类要封装的功效和数据,但不包含特定对象的功效和数据. 静态成员包含静态办法和静态属性.

静态属性包括在类中要封装的数据,可以由一切类的实例同享. 实践上,除属于一个固定的类并限制会见体例外,类的静态属性十分相似于函数的全局变量

咱们鄙人例中利用了一个静态属性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 members

<?php
class Counter
{
private static $count = 0;
const VERSION = 2.0;

function __construct()
{
self::$count++;
}

function __destruct()
{
self::$count--;
}

static function getCount()
{
return self::$count;
}
};

//创立一个实例,则__construct()将履行
$c = new Counter();

//输入 1
print(Counter::getCount() . "<br>n");

//输入类的版本属性
print("Version used: " . Counter::VERSION . "<br>n");
?>
  开发相册系统过程中就有过这样的问题,因为没有交流好,出现重复工作问题,因为文档没有详细的说明而经常临时问对方。
作者: 分手快乐    时间: 2015-2-4 12:32
php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。
作者: 灵魂腐蚀    时间: 2015-2-7 19:15
没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。
作者: 愤怒的大鸟    时间: 2015-2-11 13:50
环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。
作者: 飘飘悠悠    时间: 2015-3-2 13:32
首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。
作者: 第二个灵魂    时间: 2015-3-4 15:59
本文当是我的笔记啦,遇到的问题随时填充
作者: 若相依    时间: 2015-3-6 23:06
本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。
作者: 小魔女    时间: 2015-3-12 19:16
Ps:以上纯属原创,如有雷同,纯属巧合
作者: 柔情似水    时间: 2015-3-13 03:09
小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。
作者: admin    时间: 2015-3-20 11:11
对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。
作者: 海妖    时间: 2015-3-20 11:11
这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。
作者: 金色的骷髅    时间: 2015-3-23 11:20
我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:
作者: 只想知道    时间: 2015-4-4 22:54
有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。
作者: 精灵巫婆    时间: 2015-4-4 23:54
为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。
作者: 深爱那片海    时间: 2015-4-6 21:08
说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。
作者: 飘灵儿    时间: 2015-4-12 19:37
环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。
作者: 蒙在股里    时间: 2015-4-13 04:50
在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、
作者: 活着的死人    时间: 2015-4-26 02:12
php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会)
作者: 小女巫    时间: 2015-7-6 00:45
建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。
作者: 简单生活    时间: 2015-7-11 04:51
爱上php,他也会爱上你。




欢迎光临 仓酷云 (http://www.ckuyun.com/) Powered by Discuz! X3.2