PHP类的特性实例分析

 更新时间:2016年09月28日 10:43:05   作者:ligbee  
这篇文章主要介绍了PHP类的特性,结合实例形式分析了php类中静态方法与静态成员调用的相关使用技巧,需要的朋友可以参考下

本文实例讲述了PHP类的特性。分享给大家供大家参考,具体如下:

对象向下传递特性

当一个对象调用一个实例方法,然后在该方法中又去静态调用另一个类的方法,则在被静态调用的方法中获得源方法中的对象(this)

<?php
class bee{
  public $a = 1;
  public function f(){
    echo $this->a;
    echo '<br>';
    @lig::f();
  }
}
class lig{
  public $a = 2;
  public function f(){
    echo $this->a;
  }
}
$obj = new bee();
$obj->f();

运行结果为:

1
1

static 后期静态绑定

static有3个不同含义的语法

函数中的静态变量

function f(){
  static $v = 1;
}

类中的静态成员

class bee{
  static $v = 1;
  static function f(){}
}

方法中的动态指定‘当前类',与self不同,static所代表的是调用本方法的类(动态),self指其代码所在的类(静态)

class bee{
  static public $a = 10;
  static public function f(){
    echo get_class().':';
    echo self::$a.'-';
    echo static::$a;
  }
}
class lig extends bee{
  static public $a = 20;
}
echo bee::f();
echo '<br>';
echo lig::f();

运行结果如下:

bee:10-10
bee:10-20

面向对象三大思想

1. 封装

就是把数据封装起来尽量不给别人看,可以认为最基本的封装是把很多的数据封装类里面,但更严格地讲,是尽量将属性做成私有的,并通过共有的方法向外提供操作。

2. 继承

3. 多态

通常指的是一个对象用同样的方法得到不同的结果
也指不同的对象使用相同的方法得到不同的结果

PS:自 PHP 5.3.0 起,可以用一个变量来动态调用类。但该变量的值不能为关键字 self,parent 或 static【本例测试运行环境为php5.3.3】。

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

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

相关文章

  • php+js实现点赞功能的示例详解

    php+js实现点赞功能的示例详解

    这篇文章主要介绍了php+js实现点赞功能的示例详解,文章通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • PHP number_format函数原理及实例解析

    PHP number_format函数原理及实例解析

    这篇文章主要介绍了PHP number_format函数原理及实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • 让PHP开发者事半功倍的十大技巧小结

    让PHP开发者事半功倍的十大技巧小结

    在PHP中,单纯按照自己思路去解决问题往往会是一种错误的办法。这并不是因为你是一个糟糕的程序员,而是因为如果你想写出好的可维护性强的代码,有些标准技巧是你必须要使用的。
    2010-04-04
  • php中Socket创建与监听实现方法

    php中Socket创建与监听实现方法

    这篇文章主要介绍了php中Socket创建与监听实现方法,以实例形式较为详细的分析了Socket的创建、连接、初始化及监听等技巧,需要的朋友可以参考下
    2015-01-01
  • php ImageMagick windows下安装教程

    php ImageMagick windows下安装教程

    这篇文章主要介绍了php ImageMagick windows下安装教程,本文详细讲解了windows下安装ImageMagick的步骤、包括下载、安装、扩展安装、测试等步骤,需要的朋友可以参考下
    2015-01-01
  • 什么是OneThink oneThink后台添加插件步骤

    什么是OneThink oneThink后台添加插件步骤

    这篇文章主要为大家详细介绍了oneThink后台添加插件的具体实现步骤,内容简单,步骤完整,感兴趣的小伙伴们可以参考一下
    2016-04-04
  • php合并数组array_merge函数运算符加号与的区别

    php合并数组array_merge函数运算符加号与的区别

    “+”运算符和array_merge():array array_merge ( array array1, array array2 [, array ...] ) 都可以合并多个数组,但使用过程中有一点小区别。
    2008-10-10
  • Windows 下安装 swoole 图文教程(php)

    Windows 下安装 swoole 图文教程(php)

    下面小编就为大家带来一篇Windows 下安装 swoole 图文教程(php)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • php 中的信号处理操作实例详解

    php 中的信号处理操作实例详解

    这篇文章主要介绍了php 中的信号处理操作,结合实例形式详细分析了php 信号处理相关函数、原理、使用方法及操作注意事项,需要的朋友可以参考下
    2020-03-03
  • php数组函数array_key_exists()小结

    php数组函数array_key_exists()小结

    本文给大家汇总介绍了php数组函数array_key_exists()的相关知识以及与in_array的性能对比,与isset的区别分析,非常的详细,有需要的小伙伴可以参考下。
    2015-12-12

最新评论