网站建设资讯

NEWS

网站建设资讯

PHP面向对象程序设计的示例分析-创新互联

这篇文章主要介绍PHP面向对象程序设计的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

海南网站建设公司创新互联,海南网站设计制作,有大型网站制作公司丰富经验。已为海南上1000+提供企业网站建设服务。企业网站搭建\成都外贸网站制作要多少钱,请找那个售后服务好的海南做网站的公司定做!

具体如下:

PHP5开始支持面向对象,示例如下:

";
  }
  // 析构函数
  function __destruct(){
    echo 'destruct';
  }
  //
  function oper1(){
    echo 'oper1';
  }
  function oper2($param){
    $this->attr1 = $param;
    echo $this->attr1;
  }
  protected function oper3(){
    echo 'this is protected function';
  }
  // 禁止继承
  final function oper5(){
  }
  function __get($name){
    return $this->$name;
  }
  function __set($name, $value){
    $this->$name = $value;
  }
  // 静态方法
  static function double($param){
    return $param * $param;
  }
}
$a = new classname('First');
$b = new classname('Second');
$c = new classname();
$c->oper2("hello");
echo '';
echo $c->attr1;
echo '';
echo ' Per-Class常量 classname::PI -'.classname::PI;
echo '静态方法: classname::double(3) - ' . classname::double(3);
echo '';
// 实现继承
echo '实现继承';
class B extends classname{
  function oper4(){
    $this->oper3(); // protected方法只能在
  }
  function oper1(){ // 重载
    echo 'this is class B /'s oper1. ';
  }
}
$d = new B("forth");
$d->oper1();
$d->oper4();
// 接口
interface Displayable
{
  function display();
  function show();
}
class C implements Displayable
{
  function display(){
    echo '这是对应接口的方法.';
  }
  function show(){}
}
$e = new C();
$e->display();
echo '检查$e是否为C的实例:';
echo ($e instanceof C) ? 'Yes':'No';
// 克隆对象
$f = clone $e;
echo '可以使用__clone()方法,在使用clone关键字时调用';
// 抽象类
abstract class E{}
// $f = new E(); // 这行将报错,不能实例化抽象类
// 参数重载,多态
class F{
  public $a = 1;
  public $b = 2;
  public $c = 3;
  function displayString($elem){
    echo 'string:'.$elem;
  }
  function displayInt($elem){
    echo 'int:'.$elem;
  }
  // 注意参数$p,是作为数组传入,必须使用下标访问
  function __call($method, $p){
    if ($method == 'display'){
      if (is_string($p[0])){
        $this->displayString($p[0]);
      } else {
        $this->displayInt($p[0]);
      }
    }
  }
}
$g = new F();
$g->display('abc');
// 迭代器,读出实例的所有属性
foreach ($g as $att){
  echo ''.$att;
}
// 反射
echo '';
$class = new ReflectionClass('F');
echo '
';
echo $class;
echo '
'; ?>

以上是“PHP面向对象程序设计的示例分析”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!


网站栏目:PHP面向对象程序设计的示例分析-创新互联
文章路径:http://njwzjz.com/article/dsiijo.html