对象向下传递特性
当一个对象调用一个实例方法,然后再该方法中又去静态调用另一个类的方法,则在被静态调用的方法中获得源方法中的对象(this)
<code><span><span><?php</span><span><span>class</span><span>bee</span>{</span><span>public</span><span>$a</span> = <span>1</span>; <span>public</span><span><span>functi<p style="color:transparent">本文来源gao!%daima.com搞$代*!码$网3</p><strong>搞代gaodaima码</strong>on</span><span>f</span><span>()</span>{</span><span>echo</span><span>$this</span>->a; <span>echo</span><span>'<br>'</span>; @lig::f(); }}<span><span>class</span><span>lig</span>{</span><span>public</span><span>$a</span> = <span>2</span>; <span>public</span><span><span>function</span><span>f</span><span>()</span>{</span><span>echo</span><span>$this</span>->a; }}<span>$obj</span> = <span>new</span> bee();<span>$obj</span>->f();</span></code>
static 后期静态绑定
static有3个不同含义的语法
- 函数中的静态变量
<code><span><span>function</span><span>f</span><span>()</span>{</span><span>static</span><span>$v</span> = <span>1</span>;}</code>
- 类中的静态成员
<code><span><span>class</span><span>bee</span>{</span><span>static</span><span>$v</span> = <span>1</span>; <span>static</span><span><span>function</span><span>f</span><span>()</span>{</span>}}</code>
- 方法中的动态指定‘当前类’,与self不同,static所代表的是调用本方法的类(动态),self指其代码所在的类(静态)
<code><span><span>class</span><span>bee</span>{</span><span>static</span><span>public</span><span>$a</span> = <span>10</span>; <span>static</span><span>public</span><span><span>function</span><span>f</span><span>()</span>{</span><span>echo</span> get_class().<span>':'</span>; <span>echo</span><span>self</span>::<span>$a</span>.<span>'-'</span>; <span>echo</span><span>static</span>::<span>$a</span>; }}<span><span>class</span><span>lig</span><span>extends</span><span>bee</span>{</span><span>static</span><span>public</span><span>$a</span> = <span>20</span>;}<span>echo</span> bee::f();<span>echo</span><span>'<br>'</span>;<span>echo</span> lig::f();</code>
面向对象三大思想
- 封装
就是把数据封装起来尽量不给别人看,可以认为最基本的封装是把很多的数据封装类里面,但更严格地讲,是尽量将属性做成私有的,并通过共有的方法向外提供操作。 - 继承
- 多态
通常指的是一个对象用同样的方法得到不同的结果
也指不同的对象使用相同的方法得到不同的结果
‘).addClass(‘pre-numbering’).hide(); $(this).addClass(‘has-numbering’).parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('
‘).text(i)); }; $numbering.fadeIn(1700); }); }); </script>以上就介绍了PHP之类特性,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。