PHP面向对象详解

面向对象 对象概念是面向对象技术的核心。在显示世界里我们所面对的事情都是对象,如计算机、电视机、自行车等。在面向对象的程序设计中,对象是一个由信息及对信息进行处理的描述所组成的整体,是对现实世界的抽象.

对象的主要三个特性

对象的行为:可以对 对象施加那些操作,开灯,关灯就是行为。
对象的形态:当施加那些方法是对象如何响应,颜色,尺寸,外型。
对象的表示:对象的表示就相当于身份证,具体区分在相同的行为与状态下有什么不同。

面向对象模型

面向对象的概念:

oop(面向对象的编程)它能是其代码更加简洁易于维护并且具有更强的可重性

1、PHP面向对象(三)

四、OOP的高级实践

4.3 Static-静态成员

<?php
 date_default_timezone_set("PRC"); 
 /** 
  * 1. 类的定义以class关键字开始,后面跟着这个类的名称。类的名称命名通常每个单词的第一个字母大写。
    * 2. 定义类的属性 
     * 3. 定义类的方法 
      * 4. 实例化类的对象 
       * 5. 使用对象的属性和方法
         */class Human{  public $name;
           public $height; 
            public $weight;
             public function eat($food){  echo $this->name."'s eating ".$food."<br/>";
               } } class Animal{  public $kind; 
                public $gender;
              } class NbaPlayer extends Human{  // 类的属性的定义 public $name="Jordan";
                 // 定义属性 public $height="198cm"; 
                  public $weight="98kg";
                   public $team="Bull";
                  public $playerNumber="23";
                   private $age="44";
                public $president="David Stern";  // 类的方法的定义 
                public function changePresident($newP){  $this->president=$newP; 
                 }  public function run() {  echo "Running<br/>"; 
                  } public function jump(){  echo "Jumping<br/>"; 
                   }  public function dribble(){  echo "Dribbling<br/>"; 
                    }  public function shoot(){  echo "Shooting<br/>";  }  public function dunk(){  echo "Dunking<br/>"; 
                     }  public function pass(){  echo "Passing<br/>";  
                    }  public function getAge(){  echo $this->name."'s age is ".$this->age; 
                     }  function __construct($name, $height, $weight, $team, $playerNumber){  
                     print $name . ";" . $height . ";" . $weight . ";" . $team . ";" . $playerNumber."\n"; 
                      $this->name = $name; // $this是php里面的伪变量,表示对象自身 
                      $this->height = $height; // 通过$this可以设置对象的属性值 
                      $this->weight = $weight; 
                       $this->team = $team; 
                        $this->playerNumber = $playerNumber; 
                         } } 
                         /**  * 1. 类实例化为对象时使用new关键字,new之后紧跟类的名称和一对括号。  
                         * 2. 使用对象可以像使用其他值一样进行赋值操作  
                         */$jordan = new NbaPlayer("Jordan", "198cm","98kg","Bull","23");echo "<br/>"; 
                         $james=new NbaPlayer("James", "203cm", "120kg", "Heat", "6");
                         echo "<br/>"; // 访问对象的属性使用的语法是->符号,后面跟着属性的名称 echo $jordan->name."<br/>";  // 调用对象的某个方法使用的语法是->符号,后面跟着方法的名称和一对括号 $jordan->run(); 
                         $jordan->pass(); //子类调用父类的方法
                          $jordan->eat("apple"); //试着调用private,直接以及通过内部的public函数 //$jordan->age;
                           $jordan->getAge();echo "<br/>"; 
                          $jordan->changePresident("Adam Silver"); 
                          echo $jordan->president."<br/>"; echo $james->president."<br/>";  
                          直接从上述例子开始吧。 这里想得到的是,把两位对象的某一个变量同时变掉。——用static
                          public static $president="David Stern";  // 类的方法的定义
                           public static function changePresident($newP){ static::$president=$newP;//这里static换成self更符合规范 
                           }


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章