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更符合規範 
                           }


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