物件是現實世界的實體。物件是從物件導向程式設計(如 PHP)中的類別定義的。當定義了一個類別時,我們可以從該類別中建立許多物件。定義了Example Class Car,那麼Mercedes、BMW、Skoda都是Class Car的物件。類別是物件的藍圖。類別包含變數和函數。這些資料變數稱為屬性,資料函數稱為資料方法。
廣告 該類別中的熱門課程 PHP 開發人員 - 專業化 | 8 門課程系列 | 3次模擬測驗開始您的免費軟體開發課程
網頁開發、程式語言、軟體測試及其他
物件的定義是這樣的,物件是類別的實例。我們可以使用 new 關鍵字來建立該類別的實例。我們可以建立該類別的多個實例。這些實例現在可以存取類別函數、類別成員。
建立物件與實例化類別相同。該實例是使用 new 關鍵字建立的。這個過程稱為實例化。 由於物件是類別的實例,並且可以使用 new 關鍵字創建,讓我們看看如何建立這些實例。
文法:
objectname = new Classname();
範例:
$parrot = new Bird(); $pigeon = new Bird(); $woodpecker = new Bird();
上面是 Bird 類別的三個不同物件。使用這些對象,我們可以存取 Bird 類別的屬性和函數。
什麼是新關鍵字?
當我們實例化一個類別時,我們實際上是在建立該類別的一個物件。若要建立對象,必須使用 new 關鍵字。在類別中使用建構函式時,當使用 new 關鍵字初始化物件時,會自動呼叫建構函式。
屬性是在類別中定義的變數。這些變數隨後由類別的方法和物件使用。這些變數可以是公共的、受保護的或私有的。預設情況下,使用 public。變數的值可能包含也可能不包含預設值,這意味著該變數可以使用值初始化,也可以不使用值初始化。
變數名稱區分大小寫,這表示 $name 與 $Name 不同。 有一個命名約定,如果變數包含多個單字,則第二個字將以大寫字母開頭,如 $firstName、$lastName 等。
讓我們看下面的程式來了解其屬性。
class Birds { public $birdsFly = 'sky'; public $birdsSound = 'vocal'; public $birdsBuildNests = 'trees'; }
下面的程式解釋瞭如何聲明一個 Bird 類及其屬性,例如鳥兒飛翔時發出聲音並築巢,以及關於鳥兒所做的事情的方法。
代碼:
<?php //example to access properties of a class class Birds { // properties public $birdsFly = 'sky'; public $birdsSound = 'vocal'; public $birdsBuildNests = 'trees'; //methods public function birdDoes() { echo 'Bird'; } } //object of class is declared $obj = new Birds(); //properties of class Bird are accessed using object echo '<br> Bird Flies = '.$obj->birdsFly; echo '<br> Bird Makes Sound = '.$obj->birdsSound; echo '<br> Bird Build Nests = '.$obj->birdsBuildNests; ?>
輸出:
作為類別的屬性,我們可以在類別中定義成員函數。然後可以從物件呼叫這些函數。這些函數被稱為類別的方法。這些功能可以是公共的、私有的或受保護的。預設是公開的。另外,在宣告函數時,我們將其宣告為
文法:
public function functionaname() { //statements }
範例:
class Bird { public function makesSound() { // statements } public function looksForFood() { // statements } } $obj = new Bird; echo $bird->makesSound(); echo $bird->looksForFood();
代碼:
<?php //example to access methods of a class class Birds { // properties public $birdsFly; public $birdsBuildNests; //method 1 - set Method1 public function set_birdFlies($input) { $this->birdsFly = $input ; } //method 1 - get Method1 public function get_birdFlies() { return $this->birdsFly; } //method 2 - set Method2 public function set_BirdBuildsNest($input) { $this->birdsBuildNests = $input ; } //method 2 - get Method2 public function get_BirdBuildsNest() { return $this->birdsBuildNests; } } //object of class is declared $obj = new Birds(); $obj->set_birdFlies('Fly'); echo '<br> Bird Flies = '.$obj->get_birdFlies(); $obj->set_BirdBuildsNest('Trees'); echo '<br> Bird Builds Nest = '.$obj->get_BirdBuildsNest();?>
輸出:
建構子是一種特殊的方法。當建立新物件時,會自動呼叫此方法。無需從物件明確呼叫該方法。
文法:
__construct();// double underscores are used.
假設有兩個類,一個是基類,另一個是衍生類。如果衍生類別沒有自己的建構子並且想要繼承基底類別建構函數,我們需要使用以下語法聲明它:
文法:
parent::__construct();
代碼:
<?php //example to use constructor in a class class Birds { // properties public $makesSound; // the constructor is called when object is created public function __construct($input) { $this->makesSound = $input; echo 'Bird makes Sound: '.$this->makesSound; } } //object of class is declared $obj = new Birds('Vocal'); ?>
輸出:
在下面的程式中,我們將看到物件如何在內部透過建立物件來呼叫基底類別建構子。由於使用了繼承,我們可以使用parent:: __construct()來呼叫基底類別建構子。
代碼:
<?php //example to use constructor and object of a class class Birds { // properties public $bird_flies='sky'; // the constructor is called when object is created public function __construct() { echo 'In the Base Class Constructor'; } } class EagleBird extends Birds { function __construct() { parent::__construct(); } public function BirdDoes() { return $this->bird_flies; } } //object of class is declared $obj = new EagleBird(); echo '<br> Method : ' .$obj->BirdDoes(); ?>
輸出:
本文解釋了什麼是物件導向程式設計中的物件、如何建立物件、其語法、如何在給定程式中使用物件。另外,如何在 PHP 中宣告和使用物件的屬性和方法,如何在 PHP 中使用建構函式。本文提供的程序可能有助於解決您的疑問並很好地理解這個概念。
以上是PHP 中的對象的詳細內容。更多資訊請關注PHP中文網其他相關文章!