全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

PHP面向对象程序设计方法实例详解

本文实例分析了PHP面向对象程序设计方法。分享给大家供大家参考,具体如下:

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

<?php
class classname{
  var $attr1;
  var $attr2;
  public $attribute;
  const PI = 3.14;
  // 构造函数
  function __construct($param = 'default'){
    echo "Constructor called with parameter $param<br />";
  }
  // 析构函数
  function __destruct(){
    echo '<br />destruct';
  }
  //
  function oper1(){
    echo 'oper1<br />';
  }
  function oper2($param){
    $this->attr1 = $param;
    echo $this->attr1;
  }
  protected function oper3(){
    echo 'this is protected function<br />';
  }
  // 禁止继承
  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 '<br />';
echo $c->attr1;
echo '<br /><br />';
echo ' Per-Class常量 classname::PI -'.classname::PI;
echo '<br />静态方法: classname::double(3) - ' . classname::double(3);
echo '<br />';
// 实现继承
echo '实现继承<br />';
class B extends classname{
  function oper4(){
    $this->oper3(); // protected方法只能在
  }
  function oper1(){ // 重载
    echo 'this is class B /'s oper1. <br />';
  }
}
$d = new B("forth");
$d->oper1();
$d->oper4();
// 接口
interface Displayable
{
  function display();
  function show();
}
class C implements Displayable
{
  function display(){
    echo '这是对应接口的方法.<br />';
  }
  function show(){}
}
$e = new C();
$e->display();
echo '检查$e是否为C的实例:';
echo ($e instanceof C) ? 'Yes':'No';
// 克隆对象
$f = clone $e;
echo '<br /><br />可以使用__clone()方法,在使用clone关键字时调用';
// 抽象类
abstract class E{}
// $f = new E(); // 这行将报错,不能实例化抽象类
// 参数重载,多态
class F{
  public $a = 1;
  public $b = 2;
  public $c = 3;
  function displayString($elem){
    echo '<br />string:'.$elem;
  }
  function displayInt($elem){
    echo '<br />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 '<br />'.$att;
}
// 反射
echo '<br />';
$class = new ReflectionClass('F');
echo '<pre>';
echo $class;
echo '</pre>';
?>

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。


# PHP  # 面向对象  # 程序设计  # php类的定义与继承用法实例  # PHP面向对象程序设计OOP继承用法入门示例  # PHP面向对象程序设计高级特性详解(接口  # 继承  # 抽象类  # 析构  # 克隆等)  # PHP面向对象程序设计之命名空间与自动加载类详解  # PHP面向对象程序设计之类与反射API详解  # PHP面向对象自动加载机制原理与用法分析  # PHP入门教程之面向对象的特性分析(继承  # 多态  # 接口  # 抽象方法等)  # PHP入门教程之面向对象基本概念实例分析  # PHP 面向对象 final类与final方法  # PHP面向对象之旅:深入理解static变量与方法  # php面向对象中static静态属性和静态方法的调用  # PHP面向对象程序设计类的定义与用法简单示例  # 这是  # 操作技巧  # 相关内容  # 感兴趣  # 给大家  # 可以使用  # 报错  # 更多关于  # 所述  # 这行  # 运算符  # 迭代  # 编程技巧  # 只能在  # function  # param 


相关文章: 新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?  香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  如何通过建站之星自助学习解决操作问题?  如何获取开源自助建站系统免费下载链接?  重庆网站制作公司哪家好,重庆中考招生办官方网站?  实现虚拟支付需哪些建站技术支撑?  如何在Tomcat中配置并部署网站项目?  C++时间戳转换成日期时间的步骤和示例代码  C#如何使用XPathNavigator高效查询XML  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  如何高效配置香港服务器实现快速建站?  如何在IIS管理器中快速创建并配置网站?  c++怎么实现高并发下的无锁队列_c++ std::atomic原子变量与CAS操作【详解】  如何撰写建站申请书?关键要点有哪些?  正规网站制作公司有哪些,目前国内哪家网页网站制作设计公司比较专业靠谱?口碑好?  家庭建站与云服务器建站,如何选择更优?  建站之星安装后如何配置SEO及设计样式?  如何彻底卸载建站之星软件?  Thinkphp 中 distinct 的用法解析  建站上市公司网站建设方案与SEO优化服务定制指南  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  网站制作公司排行榜,四大门户网站排名?  网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?  小程序网站制作需要准备什么资料,如何制作小程序?  武清网站制作公司,天津武清个人营业执照注销查询系统网站?  青岛网站建设如何选择本地服务器?  如何续费美橙建站之星域名及服务?  网页设计网站制作软件,microsoft office哪个可以创建网页?  如何通过万网虚拟主机快速搭建网站?  黑客如何通过漏洞一步步攻陷网站服务器?  北京制作网站的公司排名,北京三快科技有限公司是做什么?北京三快科技?  如何快速上传自定义模板至建站之星?  建站之星Pro快速搭建教程:模板选择与功能配置指南  如何设计高效校园网站?  高端智能建站公司优选:品牌定制与SEO优化一站式服务  招贴海报怎么做,什么是海报招贴?  网站视频怎么制作,哪个网站可以免费收看好莱坞经典大片?  已有域名如何快速搭建专属网站?  TestNG的testng.xml配置文件怎么写  如何获取PHP WAP自助建站系统源码?  一键网站制作软件,义乌购一件代发流程?  北京营销型网站制作公司,可以用python做一个营销推广网站吗?  如何实现建站之星域名转发设置?  如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?  网页设计与网站制作内容,怎样注册网站?  如何在Windows服务器上快速搭建网站?  C++如何使用std::optional?(处理可选值)  如何用VPS主机快速搭建个人网站?  Android自定义listview布局实现上拉加载下拉刷新功能 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。