PHP类的特性实例分析

前端之家收集整理的这篇文章主要介绍了PHP类的特性实例分析前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

@H_404_0@本文实例讲述了PHP类的特性。分享给大家供大家参考,具体如下:


@H_4040@

对象向下传递特性


@H
404_0@当一个对象调用一个实例方法,然后在该方法中又去静态调用另一个类的方法,则在被静态调用方法中获得源方法中的对象(this)


<div class="jb51code">
<pre class="brush:PHP;">
<?php
class bee{
public $a = 1;
public function f(){
echo $this->a;
echo '
';
@lig::f();
}
}
class lig{
public $a = 2;
public function f(){
echo $this->a;
}
}
$obj = new bee();
$obj->f();

@H_404_0@运行结果为:

@H_404_0@1 1

@H_404_0@

static 后期静态绑定

@H_404_0@static有3个不同含义的语法

@H_404_0@函数中的静态变量

PHP;"> function f(){ static $v = 1; }
@H_404_0@类中的静态成员

PHP;"> class bee{ static $v = 1; static function f(){} }
@H_404_0@方法中的动态指定‘当前类',与self不同,static所代表的是调用方法的类(动态),self指其代码所在的类(静态)

PHP;"> 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 '
'; echo lig::f();
@H_404_0@运行结果如下:

@H_404_0@bee:10-10 bee:10-20

@H_404_0@

面向对象三大思想

@H_404_0@ @H_404_0@就是把数据封装起来尽量不给别人看,可以认为最基本的封装是把很多的数据封装类里面,但更严格地讲,是尽量将属性做成私有的,并通过共有的方法向外提供操作。

@H_404_0@ @H_404_0@ @H_404_0@通常指的是一个对象用同样的方法得到不同的结果 也指不同的对象使用相同的方法得到不同的结果

@H_404_0@PS:自 PHP 5.3.0 起,可以用一个变量来动态调用类。但该变量的值不能为关键字 self,parent 或 static【本例测试运行环境为PHP5.3.3】。

@H_404_0@更多关于PHP相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》、《》及《

@H_
404_0@希望本文所述对大家PHP程序设计有所帮助。

猜你在找的PHP相关文章