PHP面向?qū)ο缶幊蹋悍庋b與維護
在進行PHP面向?qū)ο缶幊虝r,封裝是一個重要的概念。將處理邏輯封裝到類方法中可以方便后期維護,減少代碼冗余,提高代碼的復用性。定義一個類及其屬性為了說明封裝的作用,我們首先定義一個Person類,其中包
在進行PHP面向?qū)ο缶幊虝r,封裝是一個重要的概念。將處理邏輯封裝到類方法中可以方便后期維護,減少代碼冗余,提高代碼的復用性。
定義一個類及其屬性
為了說明封裝的作用,我們首先定義一個Person類,其中包含$firstName和$lastName屬性,以及它們的getter和setter方法。
```php
class Person {
private $firstName;
private $lastName;
public function getFirstName() {
return $this->firstName;
}
public function setFirstName($firstName) {
$this->firstName $firstName;
}
public function getLastName() {
return $this->lastName;
}
public function setLastName($lastName) {
$this->lastName $lastName;
}
}
```
使用類實例賦值
接下來,我們創(chuàng)建兩個Person類的實例,并對它們的屬性進行賦值。
```php
$person1 new Person();
$person1->setFirstName("Jack");
$person1->setLastName("Smith");
$person2 new Person();
$person2->setFirstName("Tom");
$person2->setLastName("Brown");
```
打印輸出屬性
現(xiàn)在,我們將這兩個實例的屬性用空格分隔并打印輸出。
```php
echo $person1->getFirstName() . " " . $person1->getLastName() . "
";
echo $person2->getFirstName() . " " . $person2->getLastName() . "
";
```
輸出結(jié)果為:
```
Jack Smith
Tom Brown
```
封裝打印輸出邏輯
如果此時我們需要將屬性用下劃線分隔并進行輸出,就需要修改所有的打印輸出邏輯,十分耗時。但我們可以將打印輸出邏輯封裝到一個類方法中,所有的地方都是調(diào)用該方法打印輸出,那么上述情況就只需修改方法中的邏輯即可,十分簡便。
```php
class Person {
// ...
public function printFullName() {
echo $this->firstName . "_" . $this->lastName . "
";
}
}
```
這里我們新增了一個名為printFullName的類方法,將兩個屬性用下劃線分隔并進行輸出。
使用封裝的打印輸出邏輯
現(xiàn)在,我們可以通過調(diào)用printFullName方法來打印輸出屬性了。而且,無論屬性如何變化,在這個方法內(nèi)部的邏輯都不需要改變,依然可以輕松獲得期望的結(jié)果。
```php
$person1->printFullName();
$person2->printFullName();
```
輸出結(jié)果為:
```
Jack_Smith
Tom_Brown
```
結(jié)語
以上就是PHP面向?qū)ο缶幊讨蟹庋b的應(yīng)用實例。通過將處理邏輯封裝到類方法中,我們可以方便地維護代碼,減少代碼冗余,并提高代碼的復用性。