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一些公用函数的集合
Mar 27 PHP
PHP SQLite类
May 07 PHP
PHP写MySQL数据 实现代码
Jun 15 PHP
php图片加中文水印实现代码分享
Oct 31 PHP
php制作unicode解码工具(unicode编码转换器)代码分享
Dec 24 PHP
php中sql注入漏洞示例 sql注入漏洞修复
Jan 24 PHP
phpMyAdmin自动登录和取消自动登录的配置方法
May 12 PHP
ecshop实现smtp发送邮件
Feb 03 PHP
php转换颜色为其反色的方法
Apr 27 PHP
PHP实现使用DOM将XML数据存入数组的方法示例
Sep 27 PHP
Thinkphp5框架ajax接口实现方法分析
Aug 28 PHP
PHP dirname功能及原理实例解析
Oct 28 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
调试一段PHP程序时遇到的三个问题
2012/01/17 PHP
php中数组首字符过滤功能代码
2012/07/31 PHP
浅析application/x-www-form-urlencoded和multipart/form-data的区别
2014/06/22 PHP
php多进程并发编程防止出现僵尸进程的方法分析
2020/02/28 PHP
JQuery1.6 使用方法三
2011/11/23 Javascript
DOM2非标准但却支持很好的几个属性小结
2012/01/21 Javascript
基于dom编程中 动态创建与删除元素的使用
2013/04/17 Javascript
JQuery插件开发示例代码
2013/11/06 Javascript
日常收集整理的JavaScript常用函数方法
2015/12/10 Javascript
Node.js的MongoDB驱动Mongoose基本使用教程
2016/03/01 Javascript
深入理解js数组的sort排序
2016/05/28 Javascript
JavaScript自学笔记(必看篇)
2016/06/23 Javascript
jQuery简单实现列表隐藏和显示效果示例
2016/09/12 Javascript
Javascript 数组去重的方法(四种)详解及实例代码
2016/11/24 Javascript
js实现密码强度检验
2017/01/15 Javascript
Vue.js 2.0和Cordova开发webApp环境搭建方法
2018/02/26 Javascript
vue组件之间数据传递的方法实例分析
2019/02/12 Javascript
javascript获取select值的方法完整实例
2019/06/20 Javascript
jQuery/JS监听input输入框值变化实例
2019/10/17 jQuery
JS数组Reduce方法功能与用法实例详解
2020/04/29 Javascript
解决vue addRoutes不生效问题
2020/08/04 Javascript
简单的Apache+FastCGI+Django配置指南
2015/07/22 Python
浅谈python可视化包Bokeh
2018/02/07 Python
tensorflow学习教程之文本分类详析
2018/08/07 Python
Python简易版图书管理系统
2019/08/12 Python
Python日志处理模块logging用法解析
2020/05/19 Python
英国时尚配饰、珠宝和服装网站:KJ Beckett
2020/01/23 全球购物
施华洛世奇中国官网:SWAROVSKI中国
2020/06/16 全球购物
创先争优制度
2014/01/21 职场文书
幼师自我鉴定
2014/02/01 职场文书
作文批改评语大全
2014/04/23 职场文书
班子群众路线教育实践个人对照检查材料思想汇报
2014/09/30 职场文书
2015年收银员个人工作总结
2015/04/01 职场文书
小学生作文之《压岁钱的烦恼》
2019/09/27 职场文书
jdbc使用PreparedStatement批量插入数据的方法
2021/04/27 MySQL
聊一聊python常用的编程模块
2021/05/14 Python