PHP面向對象之類和對象

  • 2019 年 12 月 17 日
  • 筆記

PHP面向對象之類和對象

什麼是面向對象?

首先既然你知道面向對象,那麼 OOP 相信你並不陌生吧? 他的英文全稱 Object Oriented Programming 直譯為:面向對象編程

談到面向對象,他的三大特性少不了:封裝、繼承、多態,這些我們稍後再談,,我們先來了解下基本的東西。

類和對象

什麼是類?

類是面向對象程式設計的基本概念,是對一類事物的描述,通俗的理解類就是對現實中某一個種類的東西的抽象,類的定義包含了數據的形式以及對數據的操作。是具有某些相同屬性和行為的一些對象的集合。

什麼是對象?

對象是類的實例。對象是具體的,而我們的類是抽象的

類和對象的關係?

類的實例化結果就是對象,而對一類對象的抽象就是類。類描述了一組具有相同特性(屬性)和相同行為(方法)的對象。

如何定義一個類?

類的聲明,通過 class 關鍵字來進行聲明(PS:類名大寫開頭), 語法規則如下:

class 類名{    }
實例化類 也就是創建對象

通過關鍵字 new 來實例化,語法如下:

$對象變數 = new 類名稱();

例如,我們聲明一個汽車類,並實例化它。

//聲明一個汽車類  class Car {      //屬性      public $name = '汽車';        //方法      public function run(){          return 'run';      }  }    //實例化Car  $car = new Car();
屬性

屬性也就是類的成員變數,是類中的共同屬性

  • 屬性的聲明必須通過修飾符 publicprivateprotected 關鍵字來進行修飾
  • 聲明是可以不設置初始值,不能是表達式、函數、對象、資源類型
方法

方法是類的一些功能行為。他是動態的可執行的。通過在類定義中聲明函數,即創建了類的方法。

  • 聲明方法可以不使用修飾符,如果不加則表示為public

類的屬性和方法的使用

類內部訪問

通過關鍵詞$this + -> 操作符 來進行訪問

  • 訪問屬性:$this->屬性; //$this->name;
  • 訪問方法:$this->方法; //$this->run();
通過引用變數(對象)訪問

實例化類,並通過 -> 操作符來進行訪問。

$car = new Car();  $car->name; //訪問屬性  $car->run(); //訪問方法

對象的比較

  • 使用比較操作符(==)

當兩個對象具有相同屬性和值,屬於同一個類且被定義在相同命名空間中,則兩個對象相等

  • 使用全等符(===)

這兩個對象變數一定要指向某個類的同一個實例(即同一個對象)

具體比較方式,驗證結果請看 對象比較

OK,類和對象,以及類和對象的關係就介紹到這,並不是什麼高深的東西,記錄一下,給自己一個記憶,同時也給 PHPer 新手一個指南,可能每個人理解方式不同,表達不同。如果有紕漏,還請指出。