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 相关文章推荐
快速配置PHPMyAdmin方法
Jun 05 PHP
php获取post中的json数据的实现方法
Jun 08 PHP
php 中英文语言转换类
Sep 07 PHP
PHP自动识别字符集并完成转码详解
Aug 02 PHP
PHP反射机制用法实例
Aug 28 PHP
将PHP程序中返回的JSON格式数据用gzip压缩输出的方法
Mar 03 PHP
php gd等比例缩放压缩图片函数
Jun 12 PHP
php的laravel框架快速集成微信登录的方法
Dec 12 PHP
PHP编程实现多维数组按照某个键值排序的方法小结【2种方法】
Apr 27 PHP
PHP实现执行外部程序的方法详解
Aug 17 PHP
PHP 多进程与信号中断实现多任务常驻内存管理实例方法
Oct 04 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
Apr 04 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通过淘宝API查询IP地址归属等信息
2015/12/25 PHP
PHP实现根据时间戳获取周几的方法
2016/02/26 PHP
PHP微信开发之查询微信精选文章
2016/06/23 PHP
解决PHP Opcache 缓存刷新、代码重载出现无法更新代码的问题
2020/08/24 PHP
javascript基本语法分析说明
2008/06/15 Javascript
js 获取中文拼音,Select自动匹配字母获取值的代码
2009/09/23 Javascript
几个比较实用的JavaScript 测试及效验工具
2010/04/18 Javascript
取得窗口大小 兼容所有浏览器的js代码
2011/08/09 Javascript
8款非常棒的响应式jQuery 幻灯片插件推荐
2012/02/02 Javascript
基于JQuery的一句话搞定手风琴菜单
2012/09/14 Javascript
利用js的Node遍历找到repeater的一个字段实例介绍
2013/04/25 Javascript
javaScript对文字按照拼音排序实现代码
2013/12/27 Javascript
javascript实现动态导入js与css等静态资源文件的方法
2015/07/25 Javascript
js 弹出对话框(遮罩)透明,可拖动的简单实例
2016/07/11 Javascript
微信小程序 教程之注册页面
2016/10/17 Javascript
vue.js动态数据绑定学习笔记
2017/05/19 Javascript
JavaScript计算正方形面积
2019/11/26 Javascript
Python实现接受任意个数参数的函数方法
2018/04/21 Python
在Python中pandas.DataFrame重置索引名称的实例
2018/11/06 Python
python 获取等间隔的数组实例
2019/07/04 Python
Python企业编码生成系统总体系统设计概述
2019/07/26 Python
用Python批量把文件复制到另一个文件夹的实现方法
2019/08/16 Python
Python中类似于jquery的pyquery库用法分析
2019/12/02 Python
python小白切忌乱用表达式
2020/05/29 Python
全球最大最受欢迎的旅游社区:Tripadvisor
2017/11/03 全球购物
少先队学雷锋活动月总结
2014/03/09 职场文书
个人授权委托书
2014/04/03 职场文书
优质护理服务演讲稿
2014/05/07 职场文书
经典团队口号
2014/06/06 职场文书
2014离婚协议书范文两篇
2014/09/15 职场文书
医德医风个人总结
2015/02/28 职场文书
家庭暴力离婚起诉书
2015/05/18 职场文书
付款证明格式范文
2015/06/19 职场文书
学生会工作感言
2015/08/07 职场文书
python数据分析之用sklearn预测糖尿病
2021/04/22 Python
Django drf请求模块源码解析
2021/06/08 Python