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语法(3)
Oct 09 PHP
如何在PHP中使用Oracle数据库(6)
Oct 09 PHP
Ajax PHP简单入门教程代码
Apr 25 PHP
PHPWind 发帖回帖Api PHP版打包下载
Feb 08 PHP
PHP入门学习笔记之一
Oct 12 PHP
php+mysqli事务控制实现银行转账实例
Jan 29 PHP
如何使用php等比例缩放图片
Oct 12 PHP
php文件管理基本功能简单操作
Jan 16 PHP
[原创]php使用strpos判断字符串中数字类型子字符串出错的解决方法
Apr 01 PHP
Laravel框架中Blade模板的用法示例
Aug 30 PHP
Laravel如何自定义command命令浅析
Mar 23 PHP
laravel 解决Validator使用中出现的问题
Oct 25 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为表单获取的URL 地址预设 http 字符串函数代码
2010/05/26 PHP
关于PHP结束标签的使用细节探讨及联想
2013/03/04 PHP
php cURL和Rolling cURL并发方式比较
2013/10/30 PHP
php操作mongoDB实例分析
2014/12/29 PHP
PHP中使用file_get_contents post数据代码例子
2015/02/13 PHP
Aster vs KG BO3 第一场2.18
2021/03/10 DOTA
使用jquery动态加载javascript以减少服务器压力
2012/10/29 Javascript
jquery应该如何来设置改变按钮input的onclick事件
2012/12/10 Javascript
Jquery实现顶部弹出框特效
2015/08/08 Javascript
JQuery学习总结【二】
2016/12/01 Javascript
jq.ajax+php+mysql实现关键字模糊查询(示例讲解)
2018/01/02 Javascript
JavaScript 格式化数字、金额、千分位、保留几位小数、舍入舍去
2019/07/23 Javascript
layui表单验证select下拉框实现验证的方法
2019/09/05 Javascript
JS实现关闭小广告特效
2021/01/29 Javascript
JavaScript如何实现图片处理与合成
2020/05/29 Javascript
老生常谈Python基础之字符编码
2017/06/14 Python
python中列表和元组的区别
2017/12/18 Python
python binascii 进制转换实例
2019/06/12 Python
python 绘制拟合曲线并加指定点标识的实现
2019/07/10 Python
Farfetch香港官网:汇集全球时尚奢侈品购物平台
2017/11/26 全球购物
荷兰皇家航空公司中国官网:KLM中国
2017/12/13 全球购物
Otticanet澳大利亚:最顶尖的世界名牌眼镜, 能得到打折季的价格
2018/08/23 全球购物
JYSK加拿大:购买家具、床垫、家居装饰等
2020/02/14 全球购物
解除合同协议书
2014/04/17 职场文书
我读书我快乐演讲稿
2014/05/07 职场文书
党员廉洁自律承诺书
2014/05/26 职场文书
保护水资源的标语
2014/06/17 职场文书
秋冬农业生产标语
2014/10/09 职场文书
师范生见习报告
2014/10/31 职场文书
如何写辞职书
2015/02/26 职场文书
收银员岗位职责范本
2015/04/07 职场文书
2015年财务人员个人工作总结
2015/07/27 职场文书
大学生活感想
2015/08/10 职场文书
导游词之湖北武当山
2019/09/23 职场文书
Python异常类型以及处理方法汇总
2021/06/05 Python
六个好看实用的 HTML + CSS 后台登录入口页面
2022/04/28 HTML / CSS