• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php-面向对象(2)

php 搞代码 3年前 (2022-01-23) 38次浏览 已收录 0个评论

1.回顾:上篇学习了,面向对象的一些基本知识,包括$this的使用

2.这篇将学习php面向对象的继承,属性,静态属性和方法

3.继承 (extends)

     (1)一个类可以在声明用extends关键字继承另一类的方法和成员     (2)不过扩展多少个类,只能继承一个基类     (3)被继承的方法和成员可以通过用同样的名字重新声明被覆盖     (4)若父类定义方法使用了final关键字,则不可覆盖     (5)可以通过parent::来访问被覆盖的父类方法和成员
<pre> class aclass{         //成员变量         public $var="我是成员变量";         public $t1="我是t1";         //成员函数/方法         public function displayVar(){             echo "<br>";             echo $this->var;             echo $this->t1;         }      }      class bclass extends aclass{            public function displayVar(){             echo "我是 bclass";             parent::displayVar();          }      }        $f=new bclass();        $f->displayVar(); #结果: 我是 bclass 我是成员变量我是t1

4.属性

<pre class="prettyprint linenums"> (1)类的成员变量为属性/字段/特征。一般使用属性。 (2)属性声明:          public:类成员可以在任何地方被访问;          protected :可以被其所在类的子类和父类访问(当然,该成员所在的类也可以访问)          private  :能被其所在类访问。          var :可以放在public,prorected,private前面,也可直接声明属性:默认是public (3)属性变量可以进行初始化,但初始化,必须是常数 (4)在类成员方法里,可通过 $this->属性/方法名 来访问属性/方法
<pre> class cclass{         public $var1="hello";         public $var2=array(TRUE,FALSE);      }        #在php5.3 后,可以使用nowdoc初始化属性        public $var3=<<a style="color:transparent">本@文来源gao($daima.com搞@代@#码(网5</a><strong>搞gaodaima代码</strong><<'yuan';

5.静态属性和方法 Static

<pre class="prettyprint linenums"><span></span>    (1)声明类成员或方法为static,就可以不实例化类,而直接访问。     (2)属性和方法默认为public     (3)伪变量$this 在静态方法中不可用     (4)静态属性只能初始化为一个字符值或一个常量/整型或数组     (5)用::方式调用静态方法或属性
<pre>     #静态属性     class dclass{         public static $var4="我是static 属性";         public function staticValue(){             //类本身调用静态属性             return self::$var4;         }     }     class eclass extends dclass{         public function efun(){             //调用父类静态属性             return parent::$var4;         }     }     echo dclass::$var4;  //结果:我是static 属性          $e=new eclass();     echo $e->staticValue(); //结果:我是static 属性     echo $e->efun();   //结果:我是static 属性     echo $e::$var4; //结果:我是static 属性     #php5.3.0后的支持     $classname='dclass';     echo $classname::$var4;//结果:我是static 属性     echo eclass::$var4; //结果:我是static 属性     echo $e->$var4;  ////结果:我是static 属性     #静态函数/方法     class fclass{         public static function ffun(){             //....         }     }

 小结:在学习过程中,发现和java,c#很多相同的知识,所有速度有些kuai!

 下篇学习php类常量,自动加载类,构造函数和析构函数!

版权声明:本文为博主原创文章,未经博主允许不得转载。

以上就介绍了php-面向对象(2),包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php-面向对象(2)

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址