频道直达 - 专题 - 新闻 - 基础 - 高级 - 安装 - 技巧 - 数据库 - 手册 - PHP - Linux - Java - MySQL - Apache - 麻辣堂 - 狼盟 - Rails社群 - 搜索 - 下载 - 开源 - 论坛

PHP面向对象、类经典教程[2]

来源:www.phpres.com 作者:Angelover 出处:www.phpres.com 2007-9-21 16:44:41 进入讨论组
关 键 词: 教程 经典 对象 面向 方法 声明 静态 class Foo my_static

例 10.13. 调用父类的方法

<?php
class MyClass
{    protected function myFunc() {    echo"MyClass::myFunc()\n";   }
}
class 
OtherClass extends MyClass
{  // Override parent's definition
   
public function myFunc()
   {  
// But still call the parent function
       
parent::myFunc();
       echo 
"OtherClass::myFunc()\n";
   }
}
$class = new OtherClass();
$class->myFunc();
?> 
第19章 类与对象(PHP5)之三:静态关键字(Static Keyword)

声明静态的类的成员和方法,使它不需要一个类的实例.一个static成员的声明不能通过一个类对象的实例来访问(尽管一个静态方法可以)。
静态声明必须在可见性声明之后。为了兼容PHP 4,如果没有可见性被声明,那么成员和方法将被当作是已经声明为public。
由于静态方法可以调用非对象实例,伪变量$this不可以在声明为静态的方法中使用。
事实上static方法调用形式在编译时被确定。当使用必须要声明的类名时,方法是完全标识和无继承规则的应用。当使用必须要声明的类名时,这种方法就被完全确认,而且没有使用继承的规则。
如果self已经被声明,那么self就被当前所属的类所解释。也不适用与继承规则。静态属性不能通过箭头操作符->.访问非静态方法,这将产生一个E_STRICT 级的警告。
例子 19-13. 静态成员的例子
<?php
class Foo
{   public static $my_static='foo';
    public function 
staticValue(){   return self::$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";// Undefined "Property" my_static 
// $foo::my_static is not possible
print Bar::$my_static."\n";
$bar = new Bar();
print 
$bar->fooStatic()."\n";
?> 
例子 19-14.静态方法实例(Static method example)
<?php
class Foo
{   public static function aStaticMethod() {    }
}
Foo::aStaticMethod();
?> 
欢迎进入PHP开发资源论坛讨论。
收藏此文】【 】【打印】【关闭
相关文章
图文推荐
论 坛 资 源
PHP开发资源网奋斗目标
阅读排行:
热门技术文档
最新图文档
本站编辑推荐:(本站开通Delphi4PHP专区,欢迎进入论坛交流!)
编缉最近更新文章
网站赞助商
搜索您感兴趣的内容
 
   网站首页 -  网站地图 -  网站合作 -  手册中心 -  通用网址 -  网站论坛 -  网站投稿 -  友情链接 -  帮助中心
版权所有:PHP开发资源网 © 2003-2008 通用网址:PHP资源网 合作媒体: 赛迪网IT技术
互联网违法和不良信息举报中心 | 不良信息举报信箱