php面向对象认识(二)
2012-03-28 00:00
405 查看
1、公共成员的约束,php中有三个关键词,分别是
public 可以被其他类在外部访问
protected 只允许内部和子类的对象访问
private 私有变量,只允许在本类内使用
另外php对方法的访问限制对这三个关键字的描述是相同的,需要注意的是,如果没有加任何访问权限,
php默认该方法为public,另外还有2个关键字:
final方法: 表示最终类,不能被子类继承
abstract方法: 该类的成员方法还没有实现具体的功能。
请看如下脚本:
这样运行结果当然错误:
( ! ) Fatal error: Call to private method Test::print1() from context '' in ...
$a->print2();才能执行成功!
2.静态成员变量和静态成员方法。
静态成员变量其实就是,你不需要创建类的实例对象,就能访问这个类的成员变量。请看如下实例:
运行结果是:1
当类的内部成员变量方法访问该静态变量时,使用self::关键字就可以了。其实说了这么多就是说,静态成员变量
是允许从内外部修改其值的。
静态成员方法:
运行结果:101
3、克隆对象----clone
简单的说就是两者共享一个类,看了这段简单的脚本你就懂了
运行结果是:
php
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
相关文章推荐
- 用比较的方法认识PHP的面向对象
- php面向对象认识(一)
- 用比较的方法认识PHP的面向对象
- 对php面向对象中魔术方法的认识
- 对php面向对象接口的认识和理解
- 一篇文章让你认识PHP中的面向对象思想
- 对php面向对象多态性认识
- PHP面向对象深入研究之【组合模式与装饰模式】
- php面向对象中的魔术函数
- PHP面向对象笔记
- PHP的面向对象
- php面向对象详解
- php面向对象精要(2)
- php面向对象
- PHP面向对象基础知识
- PHP中OOP面向对象笔记
- 1. PHP是一门面向对象语言,但不是基于OOPS
- PHP面向对象练习1
- PHP面向对象笔记 —— 117 继承概念
- PHP面向对象学习之三:抽象类和接口类的实际作用