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加MYSQL服务器
Oct 09 PHP
将数字格式的计算结果转为汉字格式
Oct 09 PHP
PHP与MySQL开发的8个技巧小结
Dec 17 PHP
PHP在特殊字符前加斜杠的实现代码
Jul 17 PHP
PHP字符串中特殊符号的过滤方法介绍
Feb 18 PHP
ThinkPHP实现跨模块调用操作方法概述
Jun 20 PHP
Codeigniter中mkdir创建目录遇到权限问题和解决方法
Jul 25 PHP
php有道翻译api调用方法实例
Dec 22 PHP
php无序树实现方法
Jul 28 PHP
php面向对象的用户登录身份验证
Jun 08 PHP
PHP7 echo和print语句实例用法
Feb 15 PHP
php使用curl伪造浏览器访问操作示例
Sep 30 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分页显示制作详细讲解
2006/12/05 PHP
javascript英文日期(有时间)选择器
2007/05/02 Javascript
深入认识javascript中的eval函数
2009/11/02 Javascript
在ASP.NET中使用JavaScript脚本的方法
2013/11/12 Javascript
XMLHttpRequest处理xml格式的返回数据(示例代码)
2013/11/21 Javascript
JS对文本框值的判断示例
2014/03/10 Javascript
JQuery限制复选框checkbox可选中个数的方法
2015/04/20 Javascript
javascript实现树形菜单的方法
2015/07/17 Javascript
Jquery+Ajax+PHP+MySQL实现分类列表管理(上)
2015/10/28 Javascript
AngularJS入门教程之ng-checked 指令详解
2016/08/01 Javascript
setTimeout学习小结
2017/02/08 Javascript
JS仿JQuery选择器功能
2017/03/08 Javascript
js使用html2canvas实现屏幕截取的示例代码
2017/08/28 Javascript
node.js中http模块和url模块的简单介绍
2017/10/06 Javascript
element el-input directive数字进行控制
2018/10/11 Javascript
Vue data的数据响应式到底是如何实现的
2020/02/11 Javascript
JavaScript 几种循环方式以及模块化的总结
2020/09/03 Javascript
用Python编写分析Python程序性能的工具的教程
2015/04/01 Python
python实现合并两个数组的方法
2015/05/16 Python
Python中操作mysql的pymysql模块详解
2016/09/13 Python
Python中创建字典的几种方法总结(推荐)
2017/04/27 Python
Python实现的桶排序算法示例
2017/11/29 Python
Python面向对象程序设计类的多态用法详解
2019/04/12 Python
python pandas cumsum求累计次数的用法
2019/07/29 Python
Ratchet 模态框的实现
2020/08/19 HTML / CSS
中层干部竞争上岗演讲稿
2014/01/13 职场文书
浙江文明网签名寄语
2014/01/18 职场文书
大学生职业生涯规划范文
2014/01/22 职场文书
经验丰富大学生村干部自我鉴定
2014/01/22 职场文书
全民健身日活动方案
2014/01/29 职场文书
总经理助理工作职责
2014/02/06 职场文书
我们的节日清明节活动方案
2014/03/05 职场文书
保送生自荐信
2015/03/06 职场文书
公司会议开幕词
2016/03/03 职场文书
建筑工程挂靠协议书
2016/03/23 职场文书
关于感恩的素材句子(38句)
2019/11/11 职场文书