代码改变世界

《PHP与MySQL程序设计》面向对象的PHP

2011-11-27 15:19  htc开发  阅读(133)  评论(0编辑  收藏  举报

PHP对象的方法、属性的访问跟Java相似,有public, protected, private, final, static。

6.3 构造函数和析构函数

function __construct/destruct(args...) {
     ...
}


6.4 静态类成员

class Visitor {
     private static $visitors = 0;
     function f() {
          self::$visitors++;
     }

     static function getVisitors() {
          return self::$visitors;
     }
}


6.5 instanceof和其他辅助函数(类似Java反射)


PHP不支持的OOP特性:
方法重载,运算符重载,多重继承。


7.2 对象克隆

PHP4将对象视为数据类型,PHP5默认将对象视为引用。
$obj1 = clone $obj2;
重写对象的_clone方法调整克隆行为。


7.3 继承

class Employee { ... }

class Executive extends Employee { ... }

class CEO extends Executive { ... }

构造函数:

function __construct($name) {
     parent::__construct($name);
     echo "<p>CEO created!</p>";
}


7.4 接口

interface interfaceName {
     CONST 1;
     CONST N;
     function method1();
     function method2();
}

class Class_name implements interfaceName {
     function method1() {
          ...
     }

     function method2() {
          ...
     }
}


7.5 抽象类

abstract class Class_Name {
     ...
}