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 13 PHP
php数组函数序列之array_unique() - 去除数组中重复的元素值
Oct 29 PHP
phpcms模块开发之swfupload的使用介绍
Apr 28 PHP
深入php var_dump()函数的详解
Jun 05 PHP
PHP修改session_id示例代码
Jan 08 PHP
php中数字0和空值的区别分析
Jun 05 PHP
php中的字符编码转换函数用法示例
Oct 20 PHP
自己写的php curl库实现整站克隆功能
Feb 12 PHP
推荐十款免费 WordPress 插件
Mar 24 PHP
PHP中使用foreach()遍历二维数组的简单实例
Jun 13 PHP
Thinkphp自定义生成缩略图尺寸的方法
Aug 05 PHP
php 使用html5 XHR2实现上传文件与进度显示功能示例
Mar 03 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
成为好程序员必须避免的5个坏习惯
2014/07/04 PHP
php实现短信发送代码
2015/07/05 PHP
php基于双向循环队列实现历史记录的前进后退等功能
2015/08/08 PHP
实例讲解yii2.0在php命令行中运行的步骤
2015/12/01 PHP
laravel实现登录时监听事件,添加登录用户的记录方法
2019/09/30 PHP
基于jQuery的仿flash的广告轮播代码
2010/11/04 Javascript
Jquery中的CheckBox、RadioButton、DropDownList的取值赋值实现代码
2011/10/12 Javascript
利用jquery动画特效和css打造的侧边弹出垂直导航
2014/04/04 Javascript
自己使用jquery写的一个无缝滚动的插件
2014/04/30 Javascript
浅谈jQuery中对象遍历.eq().first().last().slice()方法
2014/11/26 Javascript
JavaScript结合AJAX_stream实现流式显示
2015/01/08 Javascript
手机端页面rem宽度自适应脚本
2015/05/20 Javascript
js立即执行函数: (function ( ){})( ) 与 (function ( ){}( )) 有什么区别?
2015/11/18 Javascript
jQuery中实现prop()函数控制多选框(全选,反选)
2016/08/19 Javascript
详解vue中的父子传值双向绑定及数据更新问题
2019/06/13 Javascript
Vue实现简易计算器
2020/02/25 Javascript
从源码角度来回答keep-alive组件的缓存原理
2021/01/18 Javascript
python基础教程之基本内置数据类型介绍
2014/02/20 Python
Python实现冒泡,插入,选择排序简单实例
2014/08/18 Python
实例Python处理XML文件的方法
2015/08/31 Python
深入理解Python中装饰器的用法
2016/06/28 Python
Python实现查看系统启动项功能示例
2018/05/10 Python
Python拼接字符串的7种方法总结
2018/11/01 Python
PyQt5 QTable插入图片并动态更新的实例
2019/06/18 Python
Python 使用office365邮箱的示例
2020/10/29 Python
CSS3实现10种Loading效果
2016/07/11 HTML / CSS
酒店管理毕业生自荐信
2013/10/24 职场文书
行政总经理岗位职责
2013/12/05 职场文书
企业管理培训感言
2014/01/27 职场文书
九年级语文教学反思
2014/02/04 职场文书
事假请假条范文
2014/04/11 职场文书
人口与计划生育目标管理责任书
2014/07/29 职场文书
小班下学期个人总结
2015/02/12 职场文书
股东大会通知
2015/04/24 职场文书
就业证明函
2015/06/17 职场文书
Java 实现限流器处理Rest接口请求详解流程
2021/11/02 Java/Android