您的位置:首页 > 编程语言 > PHP开发

php面向对象认识(二)

2012-03-28 00:00 405 查看
1、公共成员的约束,php中有三个关键词,分别是
public 可以被其他类在外部访问
protected 只允许内部和子类的对象访问
private 私有变量,只允许在本类内使用
另外php对方法的访问限制对这三个关键字的描述是相同的,需要注意的是,如果没有加任何访问权限,
php默认该方法为public,另外还有2个关键字:
final方法: 表示最终类,不能被子类继承
abstract方法: 该类的成员方法还没有实现具体的功能。
请看如下脚本:

<?php
 Class Test{
  private $a;
  private function print1(){
   echo "测试内容一";
  }
  public function print2(){
   echo "测试内容二";
  }
 }
 $a = new Test();
 $a->print1();
?>

这样运行结果当然错误:
( ! ) Fatal error: Call to private method Test::print1() from context '' in ...
$a->print2();才能执行成功!
2.静态成员变量和静态成员方法。
静态成员变量其实就是,你不需要创建类的实例对象,就能访问这个类的成员变量。请看如下实例:

<?php
 Class Test{
  static $a=0;
 }
 Test::$a++;    //直接引用类的静态变量,给变量的值加1
 echo Test::$a;
?>

运行结果是:1
当类的内部成员变量方法访问该静态变量时,使用self::关键字就可以了。其实说了这么多就是说,静态成员变量
是允许从内外部修改其值的。
静态成员方法:

<?php
 Class Test{
  static function addNum($num){
   $num++;
   echo $num;
  }
 }
 Test::addNUM(100);   //外部访问的格式
?>


运行结果:101
3、克隆对象----clone
简单的说就是两者共享一个类,看了这段简单的脚本你就懂了

<?php
class Test{
 public $tmp = '';
}
$a1 = new Test();
$a1->tmp = 'php';
$a2 = clone $a1;
echo $a1->tmp."<br>";
echo $a2->tmp;
?>

运行结果是:
php
php
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: