Heim  >  Artikel  >  Backend-Entwicklung  >  php-面向对象(1)

php-面向对象(1)

WBOY
WBOYOriginal
2016-08-08 09:19:23849Durchsuche

1.回顾:上篇的学习了php高级中的 过滤器

2.从这篇开始将学习 php——面向对象

3.面向对象

    3.1了解

   (1)php5 引入了新的对象模型 (object model),重写了php的处理对象方式,允许更加的性能
   (2)新特性包括:可见性,抽象类和final类,类方法,魔术方法,接口,对象克隆和类型提示
   (3)php对象是按引用传递的,即每个包含对象的变量都持有对象的引用(reference),而不是整个对象的拷贝

  3.2基本概念
<pre class="brush:php;toolbar:false">   (1) 关键字 class开头,后面跟着类名,可以是任何非php保留字的名字
   (2) 包含类成员和方法的定义
   (3) 伪变量$this 可以在当一个方法在对象内调用时使用。
   (4) $this是一个到调用对象的引用
   (5) 通常方法所属于对象,但也可以是另一个对象,如果该方法是从第二个对象内静态调用的话

    3.3 $this 的使用

    

$this的使用
     class one{
         function oneFun(){
             if(isset($this)){
                 echo '$this 的定义是 (';
                 echo  get_class($this);
                 echo ')';
             }else{
                 echo '$this 没有定义';
             }
         }
     }

     class two{
         function twoFun(){
             one::oneFun();
         }
     }

     $a =new one();
     $a->oneFun(); //结果:$this 的定义是 (one)

     one::oneFun();//结果:$this 没有定义

     $b=new two();
     $b->twoFun(); //结果:$this 的定义是 (two)

     two::twoFun();//结果:$this 没有定义

        3.4. 简单类定义

  

 class aclass{

         //成员变量
         public $var="我是成员变量";
         public $t1="我是t1";
         //成员函数/方法
         public function displayVar(){
             echo "<br>";
             echo $this->var;
             echo $this->t1;
         }
     }

    3.5 new关键字

         (1)创建对象实例的时候,必须创建一个新的对象并将其赋值给一个变量

     (2)每次创建新对象时,该对象总是被赋值,除非构函数出错

   

//调用
      $c=new aclass();
      $c->displayvar();

    3.6 对象赋值

         当把一个对象已经创建的实例赋值给新变量的时候,新变量会访问同一个实例

      #当把一个对象已经创建的实例赋值给新变量的时候,新变量会访问同一个实例
      $d=$c;
      $e =& $c;

      $c->var='$d 有这个值';

      $c=NULL; 
      echo "<br>";
      var_dump($c);  //结果:NULL
      var_dump($d);  //结果:object(aclass)#3 (2) { ["var"]=> string(15) "$d 有这个值" ["t1"]=> string(8) "我是t1" }
      var_dump($e);  //结果:NULL

下篇将学习,继承,属性和静态属性/方法(static)

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

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn