您现在的位置:中国下载站学院中心网络编程PHP教程PHP基础教程 → 文章列表

第八节--访问方式

作者:佚名  来源:不详  发布时间:2007-4-14 11:48:49   

减小字体 增大字体

 
 
  /*

  +-------------------------------------------------------------------------------+

  | = 本文为Haohappy读<<Core PHP Programming>>

  | = 中Classes and Objects一章的笔记

  | = 翻译为主+个人心得

  | = 为避免可能发生的不必要的麻烦请勿转载,谢谢

  | = 欢迎批评指正,希望和所有PHP爱好者共同进步!

  | = PHP5研究中心: http://blog.csdn.net/haohappy2004

  +-------------------------------------------------------------------------------+

  */

  第八节--访问方式

  PHP5的访问方式允许限制对类成员的访问. 这是在PHP5中新增的功能,但在许多面向对象语言中都早已存在. 有了访问方式,才能开发一个可靠的面向对象应用程序,并且构建可重用的面向对象类库.

  像C++和Java一样,PHP有三种访问方式:public,private和protected. 对于一个类成员的访问方式,可以是其中之一. 如果你没有指明访问方式,默认地访问方式为public. 你也可以为静态成员指明一种访问方式,将访问方式放在static关键字之前(如public static).

  Public成员可以被毫无限制地访问.类外部的任何代码都可以读写public属性. 你可以从脚本的任何地方调用一个public方法. 在PHP的前几个版本中,所有方法和属性都是public, 这让人觉得对象就像是结构精巧的数组.

  Private(私有)成员只在类的内部可见. 你不能在一个private属性所在的类方法之外改变或读取它的值. 同样地,只有在同一个类中的方法可以调用一个private方法. 继承的子类也不能访问父类中的private 成员.

  要注意,类中的任何成员和类的实例都可以访问private成员. 看例子6.8,equals方法将两个widget进行比较.==运算符比较同一个类的两个对象,但这个例子中每个对象实例都有唯一的ID.equals方法只比较name和price. 注意equals方法如何访问另一个Widget实例的private属性. Java和C都允许这样的操作.

  Listing 6.8 Private members

  <?php
   class Widget
   {
     private $name;
     private $price;
     private $id;
      public function __construct($name, $price)
     {
       $this->name = $name;
       $this->price = floatval($price);
       $this->id = uniqid();
     }
     //checks if two widgets are the same 检查两个widget是否相同
     public function equals($widget)
     {
       return(($this->name == $widget->name)AND
         ($this->price == $widget->price));
     }
   }
   $w1 = new Widget('Cog', 5.00);
   $w2 = new Widget('Cog', 5.00);
   $w3 = new Widget('Gear', 7.00);
    //TRUE   if($w1->equals($w2))
   {
     print("w1 and w2 are the same<br>\n");
   }
    //FALSE
   if($w1->equals($w3))
   {
     print("w1 and w3 are the same<br>\n");
   }
    //FALSE, == includes id in comparison
   if($w1 == $w2) //不等,因为ID不同
   {
     print("w1 and w2 are the same<br>\n");
   }
  ?>


在百度中搜索更多第八节--访问方式相关网页 转贴于:中国下载站

  • 上一篇文章:第九节--绑定
  • 下一篇文章:第六节--访问属性和方法
  • 阅读统计:[]
  • 中国下载站】【设为主页】【收藏本页】【打印本文】【回到顶部】【关闭此页

    相关文章
    文章评论(评论内容只代表网友观点,与本站立场无关!)

    用户名: 查看更多评论

    分 值:100分 85分 70分 55分 40分 25分 10分 0分

    内 容:

             (注“”为必填内容。) 验证码: 验证码,看不清楚?请点击刷新验证码


    设为首页 - 关于我们 - 广告服务 - 网站地图 - 加入收藏 - 网站声明 - 网站帮助 - 友情链接

    • Copyright (C) 2006-2008 www.cndownz.com All Rights Reserved.
      中国下载站 版权所有. 粤ICP备05141802号. 对本站有任何建议、意见或投诉,请来信:cndownzcom@yahoo.com.cn.
      喜欢中国下载站(cndownz.com),请把中国下载站(cndownz.com)告诉你QQ上的5位好友,多谢支持!