PHP类的特性实例分析


Posted in PHP onSeptember 28, 2016

本文实例讲述了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 代码优化的42条建议 推荐
Sep 25 PHP
libmysql.dll与php.ini是否真的要拷贝到c:\windows目录下呢
Mar 15 PHP
php图片缩放实现方法
Feb 20 PHP
PHP Curl出现403错误的解决办法
May 29 PHP
PHP 抽象方法与抽象类abstract关键字介绍及应用
Oct 16 PHP
最准确的php截取字符串长度函数
Oct 29 PHP
php实现可运算的验证码
Nov 10 PHP
调试WordPress中定时任务的相关PHP脚本示例
Dec 10 PHP
php用户登录之cookie信息安全分析
May 13 PHP
PHP 5.6.11 访问SQL Server2008R2的几种情况详解
Aug 08 PHP
PHP魔术方法之__call与__callStatic使用方法
Jul 23 PHP
php array_chunk()函数用法与注意事项
Jul 12 PHP
PHP页面跳转操作实例分析(header方法)
Sep 28 #PHP
PHP会话操作之cookie用法分析
Sep 28 #PHP
PHP session会话操作技巧小结
Sep 27 #PHP
PHP简单预防sql注入的方法
Sep 27 #PHP
PHP数据对象PDO操作技巧小结
Sep 27 #PHP
PHP基于GD库的图像处理方法小结
Sep 27 #PHP
PHP文件上传操作实例详解
Sep 27 #PHP
You might like
excellent!――ASCII Art(由目标图象生成ascii)
2007/02/20 PHP
五个PHP程序员工具
2008/05/26 PHP
PHP求小于1000的所有水仙花数的代码
2012/01/10 PHP
php中一个有意思的日期逻辑处理
2012/03/25 PHP
PHP中SESSION使用中的一点经验总结
2012/03/30 PHP
PHP将字符分解为多个字符串的方法
2014/11/22 PHP
yii2.0框架场景的简单使用示例
2020/01/25 PHP
jquery ajax 同步异步的执行 return值不能取得的解决方案
2012/01/08 Javascript
JavaScript表达式:URL 协议介绍
2013/03/10 Javascript
javascript闭包的高级使用方法实例
2013/07/04 Javascript
JavaScript中最容易混淆的作用域、提升、闭包知识详解(推荐)
2016/09/05 Javascript
jQuery仿IOS弹出框插件
2017/02/18 Javascript
jQuery实现模拟搜索引擎的智能提示功能简单示例
2019/01/27 jQuery
详解vuex的简单todolist例子
2019/07/14 Javascript
js实现弹幕飞机效果
2020/08/27 Javascript
详解Vue2的diff算法
2021/01/06 Vue.js
python 利用浏览器 Cookie 模拟登录的用户访问知乎的方法
2019/07/11 Python
python3获取url文件大小示例代码
2019/09/18 Python
Python迭代器iterator生成器generator使用解析
2019/10/24 Python
Python Tkinter Entry和Text的添加与使用详解
2020/03/04 Python
使用python求斐波那契数列中第n个数的值示例代码
2020/07/26 Python
详解pytorch tensor和ndarray转换相关总结
2020/09/03 Python
css3高级选择器使用方法
2013/12/02 HTML / CSS
重新定义牛仔布,100美元以下:Warp + Weft
2018/07/25 全球购物
Capitol Lighting的1800lighting.com:住宅和商业照明
2019/04/10 全球购物
德国的大型美妆个护电商:Flaconi
2020/06/26 全球购物
教师师德教育的自我评价
2013/10/31 职场文书
个人应聘自我评价分享
2013/11/18 职场文书
父亲生日宴会答谢词
2014/01/10 职场文书
化学教师教学反思
2014/01/17 职场文书
大型会议策划方案
2014/05/17 职场文书
人大调研汇报材料
2014/08/14 职场文书
授权委托书
2014/09/17 职场文书
党员学习中国梦心得体会
2016/01/05 职场文书
python代码实现备忘录案例讲解
2021/07/26 Python
Python中第三方库Faker的使用详解
2022/04/02 Python