最新更新 sitemap 网站制作设计本站搜索
网页设计
国外网站 韩国网站 个人主页 手提袋设计 CSS 网页特效 平面设计 网站设计 Flash CMS技巧 服装网站 php教程 photoshop 画册 服务器选用 数据库 Office
虚拟主机 域名注册 云主机 网页设计 客服QQ:8208442
当前位置:首页 > 编程开发 > php教程

php_manual学习之翻译:Visibility(访问控制)

日期:08-23    来源:中国设计秀    作者:cnwebshow.com

2sb中国设计秀
    由于php手册从这一章节开始没有翻译,都是英文,近来自己开始学习php5中的面向对象编程,为方便学习和阅读,所以把其翻译之,发上来与大家分享,有不妥之处请大家批评指正!2sb中国设计秀
2sb中国设计秀
    申请加精,我花了好长的时间来翻译的东西,呵呵~_~2sb中国设计秀
2sb中国设计秀
     对属性或方法的访问控制,是通过在前面添加关键字 public、protected 或 private 来实现的。由 public 所定义的类成员可以在任何地方被访问;由 protected 所定义的类成员则可以被其所在类的子类和父类访问(当然,该成员所在的类也可以访问);而由 private 定义的类成员则只能被其所在类访问。2sb中国设计秀
对类成员的访问控制2sb中国设计秀
类成员都必须使用关键字public、protected 或 private 进行定义2sb中国设计秀
例 10.9. 声明类成员2sb中国设计秀
nclick="copycode($('phpcode0'));" href="###">[复制PHP代码]PHP代码如下:2sb中国设计秀
<?php2sb中国设计秀
/**  Define MyClass  */2sb中国设计秀
class MyClass2sb中国设计秀
{  public $public 'Public';2sb中国设计秀
   
protected $protected 'Protected';2sb中国设计秀
   
private $private 'Private';2sb中国设计秀
   function 
printHello()2sb中国设计秀
   {   echo 
$this->public;2sb中国设计秀
       echo 
$this->protected;2sb中国设计秀
        echo 
$this->private;2sb中国设计秀
   }2sb中国设计秀
}2sb中国设计秀
$obj = new MyClass();2sb中国设计秀
echo 
$obj->public// // Works2sb中国设计秀
echo $obj->protected// Fatal Error2sb中国设计秀
echo $obj->private// Fatal Error2sb中国设计秀
$obj->printHello();// Shows Public, Protected and Priv 2sb中国设计秀
class MyClass2 extends MyClass  //Define MyClass2 2sb中国设计秀
{// We can redeclare the public and protected method, but not private2sb中国设计秀
    
protected $protected 'Protected2';2sb中国设计秀
    function 
printHello()2sb中国设计秀
   {   echo 
$this->public;2sb中国设计秀
       echo 
$this->protected;2sb中国设计秀
       echo 
$this->private;2sb中国设计秀
   }2sb中国设计秀
}2sb中国设计秀
$obj2 = new MyClass2();2sb中国设计秀
echo 
$obj->public// Works2sb中国设计秀
echo $obj2->private// Undefined2sb中国设计秀
echo $obj2->protected// Fatal Error2sb中国设计秀
$obj2->printHello();// Shows Public, Protected2, not Private2sb中国设计秀
?> 
2sb中国设计秀
2sb中国设计秀
注意:2sb中国设计秀
在 PHP 4 中使用 var 关键字对变量进行定义的方法在 PHP 5 的面向对象语法中不再使用。为了顾及兼容性,在类中定义一个变量的话,该变量会被自动设为 public,并且产生一个 E_STRICT 警告。2sb中国设计秀
对方法的访问控制2sb中国设计秀
类中的方法都必须使用关键字public、protected 或 private 进行定义。如果没有设置这些关键字,则该方法会被设置成默认的 public。2sb中国设计秀
例 10.10. 声明类中的方法2sb中国设计秀
nclick="copycode($('phpcode1'));" href="###">[复制PHP代码]PHP代码如下:2sb中国设计秀
<?php2sb中国设计秀
class MyClass   //Define MyClass2sb中国设计秀
{   public function __construct() { }2sb中国设计秀
    
public function MyPublic() { }2sb中国设计秀
    
protected function MyProtected() { }2sb中国设计秀
    
private function MyPrivate() { }2sb中国设计秀
    function 
Foo()2sb中国设计秀
   {   
$this->MyPublic();2sb中国设计秀
       
$this->MyProtected();2sb中国设计秀
       
$this->MyPrivate();2sb中国设计秀
   }2sb中国设计秀
}2sb中国设计秀
$myclass = new MyClass;2sb中国设计秀
$myclass->MyPublic(); // 2sb中国设计秀
$myclass->MyProtected(); // 2sb中国设计秀
$myclass->MyPrivate(); // 2sb中国设计秀
$myclass->Foo();2sb中国设计秀
class 
MyClass2 extends MyClass    //Define MyClass22sb中国设计秀
{  // This is public2sb中国设计秀
   
function Foo2()2sb中国设计秀
   {   
$this->MyPublic();2sb中国设计秀
       
$this->MyProtected();2sb中国设计秀
       
$this->MyPrivate();2sb中国设计秀
   }2sb中国设计秀
}2sb中国设计秀
$myclass2 = new MyClass2;2sb中国设计秀
$myclass2->MyPublic();2sb中国设计秀
$myclass2->Foo2();2sb中国设计秀
?>
2sb中国设计秀
2sb中国设计秀

本文引用地址:/bc/article_58251.html
网站地图 | 关于我们 | 联系我们 | 网站建设 | 广告服务 | 版权声明 | 免责声明