首頁 >後端開發 >php教程 >PHP 中的對象

PHP 中的對象

WBOY
WBOY原創
2024-08-29 12:36:24885瀏覽

物件是現實世界的實體。物件是從物件導向程式設計(如 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;
?>

輸出:

PHP 中的對象

PHP 中物件的方法

作為類別的屬性,我們可以在類別中定義成員函數。然後可以從物件呼叫這些函數。這些函數被稱為類別的方法。這些功能可以是公共的、私有的或受保護的。預設是公開的。另外,在宣告函數時,我們將其宣告為

文法:

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();?>

輸出:

PHP 中的對象

物件與建構子

建構子是一種特殊的方法。當建立新物件時,會自動呼叫此方法。無需從物件明確呼叫該方法。

文法:

__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');
?>

輸出:

PHP 中的對象

具有繼承性的建構子和物件

在下面的程式中,我們將看到物件如何在內部透過建立物件來呼叫基底類別建構子。由於使用了繼承,我們可以使用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 中的對象的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:PHP 版本下一篇:PHP 版本