php基础知识:类与对象(5) static


Posted in PHP onDecember 13, 2006

Declaring class members or methods as static makes them accessible without needing an instantiation of the class. A member declared as static can not be accessed with an instantiated class object (though a static method can). 
声明静态的类变量和方法可以不需要实例化类对象的情况下对他们进行调用。静态类不能被类对象调用。(类的静态方法可以)。//注意看第一个例子,在一个非静态的方法中调用了静态的变量。唯一的不同是用了self。难道用了self就可以????不知道???需要一个试验。

The static declaration must be after the visibility declaration. For compatibility with PHP4, if no visibility declaration is used, then the member or method will be treated as if it was declared as public. 
静态声明必须必须是显式的声明。为了兼容PHP4,如果没有显式声明的对象或者方法,被当作声明为public。

Because static methods are callable without an instance of the object created, the pseudo variable $this is not available inside the method declared as static. 
因为静态方法不需要实例化类对象来调用,所以伪变量$this在静态方法中也是不可用的。 

In fact static method calls are resolved at compile time. When using an explicit class name the method is already identified completely and no inheritance rules apply. If the call is done by self then self is translated to the current class, that is the class the code belongs to. Here also no inheritance rules apply. 
实际上,静态的方法调用在编译时已经确定了。(这段我不会翻译。???不明白???)
求了很久求来的翻译如下:
------------------------------------------------
实际上,静态方法的调用在编译时解决。当使用一个明确的类名时,方法已经被完全识别而不需要应用继承规则。如果由自身调用,那么自身被解析成当前的类,也就是代码所属的类。这里也没有应用继承规则。
但是一个新的问题:
这里不一定有继承产生,为什么会提到继承规则?(???不明白????)

Static properties cannot be accessed through the object using the arrow operator ->. Calling non-static methods statically generates an E_STRICT level warning. 
静态成员不能被类的对象通过箭头符号->来调用。静态的调用一个非静态方法会导致一个E_STRICT级别的警告。

静态成员例:

class Foo  
{  
   public static $my_static = 'foo';   
   public function staticValue() {  
       return self::$my_static;//注意这里!!!!  
       //return $my_static;//这样写会不会出错。需要试验  
   }  
}  class Bar extends Foo  
{  
   public function fooStatic() {  
       return parent::$my_static;//注意这里!!!!  
   }  
}  
print Foo::$my_static . " n";  
$foo = new Foo();  
print $foo->staticValue() . " n";  
print $foo->my_static . " n";      // 未定义的"Property" my_static   
// $foo::my_static is not possible  
print Bar::$my_static . " n";  
$bar = new Bar();  
print $bar->fooStatic() . " n";  
静态方法例:  
class Foo {  
   public static function aStaticMethod() {  
       // ...  
   }  
}  
Foo::aStaticMethod(); 
PHP 相关文章推荐
BBS(php & mysql)完整版(三)
Oct 09 PHP
PHP4实际应用经验篇(4)
Oct 09 PHP
PHP 多进程 解决难题
Jun 22 PHP
php的chr和ord函数实现字符加减乘除运算实现代码
Dec 05 PHP
服务器变量 $_SERVER 的深入解析
Jul 02 PHP
PHP防止跨域提交表单
Nov 01 PHP
兼容各大浏览器带关闭按钮的漂浮多组图片广告代码
Jun 05 PHP
php站内搜索关键词变亮的实现方法
Dec 30 PHP
php实现比较全的数据库操作类
Jun 18 PHP
PHP使用socket发送HTTP请求的方法
Feb 14 PHP
在Win2003(64位)中配置IIS6+PHP5.2.17+MySQL5.5的运行环境
Apr 04 PHP
phpcms的分类名称和类别名称的调用
Jan 05 PHP
php基础知识:类与对象(4) 范围解析操作符(::)
Dec 13 #PHP
php基础知识:类与对象(3) 构造函数和析构函数
Dec 13 #PHP
php基础知识:类与对象(2) 自动加载对象
Dec 13 #PHP
php基础知识:类与对象(1)
Dec 13 #PHP
php基础知识:函数基础知识
Dec 13 #PHP
php基础知识:控制结构
Dec 13 #PHP
《PHP边学边教》(04.编写简易的通讯录――视频教程1)
Dec 13 #PHP
You might like
php常用正则函数实例小结
2016/12/29 PHP
浅谈PHP中类和对象的相关函数
2017/04/26 PHP
Yii2框架可逆加密简单实现方法
2017/08/25 PHP
thinkPHP5框架导出Excel文件简单操作示例
2018/08/03 PHP
thinkphp框架类库扩展操作示例
2019/11/26 PHP
ext 同步和异步示例代码
2009/09/18 Javascript
JS+CSS相对定位实现的下拉菜单
2015/10/06 Javascript
jquery trigger函数执行两次的解决方法
2016/02/29 Javascript
jQuery使用中可能被XSS攻击的一些危险环节提醒
2016/05/24 Javascript
详解BootStrap中Affix控件的使用及保持布局的美观的方法
2016/07/08 Javascript
详解axios在node.js中的post使用
2017/04/27 Javascript
Vue实现动态显示textarea剩余字数
2017/05/22 Javascript
webpack分离css单独打包的方法
2018/06/12 Javascript
微信小程序实现消息框弹出动画
2020/04/18 Javascript
kNN算法python实现和简单数字识别的方法
2014/11/18 Python
python中print()函数的“,”与java中System.out.print()函数中的“+”功能详解
2017/11/24 Python
微信跳一跳辅助python代码实现
2018/01/05 Python
python使用Turtle库绘制动态钟表
2018/11/19 Python
将python图片转为二进制文本的实例
2019/01/24 Python
python+mysql实现教务管理系统
2019/02/20 Python
使用Python实现图像标记点的坐标输出功能
2019/08/14 Python
django 解决扩展自带User表遇到的问题
2020/05/14 Python
Python rabbitMQ如何实现生产消费者模式
2020/08/24 Python
总结html5自定义属性有哪些
2020/04/01 HTML / CSS
倩碧美国官网:Clinique美国
2016/07/20 全球购物
德国传统玻璃制造商:Cristalica
2018/04/23 全球购物
西班牙三叶草药房:Farmacias Trébol
2019/05/03 全球购物
巴西Bo.Bô官方在线商店:经营奢侈品时尚业务
2020/03/16 全球购物
璀璨的珍珠、密钉和个性化珠宝:Lily & Roo
2021/01/21 全球购物
开办饭店创业计划书
2013/12/28 职场文书
三年大学生活自我鉴定
2014/01/21 职场文书
青年教师培训方案
2014/02/06 职场文书
音乐教学随笔感言
2014/02/19 职场文书
房地产财务部员工岗位职责
2014/03/12 职场文书
4S店售后客服自我评价
2014/04/09 职场文书
学习经验交流会策划书
2015/11/02 职场文书