莫相离 发表于 2015-2-4 00:21:40

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:12

php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。

灵魂腐蚀 发表于 2015-2-7 19:15:07

没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。

愤怒的大鸟 发表于 2015-2-11 13:50:42

环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。

飘飘悠悠 发表于 2015-3-2 13:32:46

首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。

第二个灵魂 发表于 2015-3-4 15:59:32

本文当是我的笔记啦,遇到的问题随时填充

若相依 发表于 2015-3-6 23:06:59

本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。

小魔女 发表于 2015-3-12 19:16:49

Ps:以上纯属原创,如有雷同,纯属巧合

柔情似水 发表于 2015-3-13 03:09:52

小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。

admin 发表于 2015-3-20 11:11:50

对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。

海妖 发表于 2015-3-20 11:11:50

这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。

金色的骷髅 发表于 2015-3-23 11:20:08

我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:

只想知道 发表于 2015-4-4 22:54:49

有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。

精灵巫婆 发表于 2015-4-4 23:54:04

为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。

深爱那片海 发表于 2015-4-6 21:08:54

说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。

飘灵儿 发表于 2015-4-12 19:37:27

环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。

蒙在股里 发表于 2015-4-13 04:50:31

在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、

活着的死人 发表于 2015-4-26 02:12:11

php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会)

小女巫 发表于 2015-7-6 00:45:39

建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。

简单生活 发表于 2015-7-11 04:51:44

爱上php,他也会爱上你。
页: [1]
查看完整版本: PHP编程:第七节--类的静态成员 -- Classes and ...