PHP建站技术分享-从入门到精通_各类知识收集PHP建站技术分享-从入门到精通_各类知识收集PHP建站技术分享-从入门到精通_各类知识收集

QQ:420220301 微信/手机:150-3210-7690
当前位置:首页 > 工作总结

PHP应用:PHP类相关知识点实例总结

管理员 2025-02-26
工作总结
4

《PHP应用:PHP类相关知识点实例总结》要点:
本文介绍了PHP应用:PHP类相关知识点实例总结,希望对您有用。如果有疑问,可以联系我们。
 

PHP教程本文实例总结了PHP类相关知识点.分享给大家供大家参考,具体如下:

PHP教程最终类与最终方法

PHP教程如果父类中的方法被声明为 final,则子类无法覆盖该方法.如果一个类被声明为 final,则不能被继承.

PHP教程final class a{}class a{  final public function A(){}}

PHP教程抽象类与抽象方法

PHP教程abstract class a {  public abstract function func();}class A extends a{  public function func(){}}

PHP教程① 一个类可以使用abstract声明为抽象类;抽象类是不能实例化的类,只用作其他类的父类.

PHP教程abstract class name{}

PHP教程② 一个方法可以使用abstract声明为抽象方法;抽象方法只需要声明方法头,不需要大括号部分的方法体.

PHP教程abstract public function name($val);

PHP教程③ 一个类中有抽象方法,则该类必须声明为抽象类.

PHP教程④ 子类继承自一个抽象类,则子类不行实现父类中的所有抽象方法,除非子类也继续作为抽象类.

PHP教程⑤ 子类实现抽象父类的方法时,访问控制符范围不能降低,且方法的参数也必须一致(重写).

PHP教程接口

PHP教程接口可以看作是抽象类的更高层面的抽象,可以说是抽象类的特例

PHP教程interface a{  function func();}class A implements a {  function func(){}}

PHP教程类:属性、类常量、方法

PHP教程抽象类:属性、类常量、抽象方法

PHP教程接口:接口常量、抽象方法

PHP教程① 相比抽象类,接口可实现‘多继承'

PHP教程class A implements a,b,c{}

PHP教程② 一个接口只能继承一个接口

PHP教程interface a extends b{}

PHP教程③ 其中方法都是抽象方法不用abstract修饰,即下级类要么实现接口的方法(implements),要么也声明为抽象方法

PHP教程重载技术

PHP教程1. 属性重载:如果使用一个不存在的属性,就会调用类中预先定义好的某个方法以处理数据;

PHP教程对于属性不用的应用场景,做如下处理

PHP教程① 取值:自动调用类中的__get()
② 赋值:自动调用类中的__set()
③ 判断是否存在:自动调用类中的__isset()
④ 销毁:自动调用类中的__unset()

PHP教程前提是预先定义好这些方法,否则会报错

PHP教程<?phpclass bee{  public $ol = array();  public function __get($key){    if(isset($this->ol[$key])){      return $this->ol[$key];    }    return $key.' not exists';  }  public function __set($key,$val){    $this->ol[$key] = $val;  }  public function __isset($key){    if(isset($this->ol[$key])){      return true;    }    return false;  }  public function __unset($key){    unset($this->ol[$key]);  }}$obj = new bee();echo $obj->one;echo '<br>';$obj->one = 1;echo $obj->one;echo '<br>';var_dump(isset($obj->one));

PHP教程运行结果如下:

PHP教程one not exists1boolean true

PHP教程2. 方法重载:如果使用一个不存在的方法,就会调用类中预先定义好的某个方法以处理该行为;

PHP教程对于方法不用的应用场景,做如下处理

PHP教程① 在对象中调用不可访问的方法:__call()
② 静态方式中调用不可访问方法:__callStatic()

PHP教程<?phpclass bee{  public function __call($name,$arr){    echo '<br>';    echo 'function '.$name.' not exist';  }  static function __callStatic($name,$arr){    echo '<br>';    echo 'function '.$name.' not exist';  }  /*public function __call($name,$arr){    $num = count($arr);    if($num<1){      $name();    }else{      $name = $name.'_one';      $name($arr[0]);    }  }*/}$obj->func();bee::staFunc();/*$obj->func(1);function func(){  echo '<br>';  echo 'no.0';}function func_one($val){  echo '<br>';  echo 'no.'.$val;}*/

PHP教程运行结果如下:

PHP教程function func not existfunction staFunc not exist

PHP教程注意:以上方法都属于魔术方法,都带有参数



希望以上内容对你有所帮助!如果还有其他问题,请随时提问。 各类知识收集 拥有多年CMS企业建站经验,对 iCMS, LeCMS, ClassCMS, Fastadmin, PbootCMS, PHPCMS, 易优CMS, YzmCMS, 讯睿CMS, 极致CMS, Wordpress, HkCMS, YznCMS, WellCMS, ThinkCMF, 等各类cms的相互转化,程序开发,网站制作,bug修复,程序杀毒,插件定制都可以提供最佳解决方案。

相关推荐

扫码关注

qrcode

QQ交谈

回顶部