PHP面向对象编程:封装与维护
在进行PHP面向对象编程时,封装是一个重要的概念。将处理逻辑封装到类方法中可以方便后期维护,减少代码冗余,提高代码的复用性。
定义一个类及其属性
为了说明封装的作用,我们首先定义一个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;
}
}
```
使用类实例赋值
接下来,我们创建两个Person类的实例,并对它们的属性进行赋值。
```php
$person1 new Person();
$person1->setFirstName("Jack");
$person1->setLastName("Smith");
$person2 new Person();
$person2->setFirstName("Tom");
$person2->setLastName("Brown");
```
打印输出属性
现在,我们将这两个实例的属性用空格分隔并打印输出。
```php
echo $person1->getFirstName() . " " . $person1->getLastName() . "
";
echo $person2->getFirstName() . " " . $person2->getLastName() . "
";
```
输出结果为:
```
Jack Smith
Tom Brown
```
封装打印输出逻辑
如果此时我们需要将属性用下划线分隔并进行输出,就需要修改所有的打印输出逻辑,十分耗时。但我们可以将打印输出逻辑封装到一个类方法中,所有的地方都是调用该方法打印输出,那么上述情况就只需修改方法中的逻辑即可,十分简便。
```php
class Person {
// ...
public function printFullName() {
echo $this->firstName . "_" . $this->lastName . "
";
}
}
```
这里我们新增了一个名为printFullName的类方法,将两个属性用下划线分隔并进行输出。
使用封装的打印输出逻辑
现在,我们可以通过调用printFullName方法来打印输出属性了。而且,无论属性如何变化,在这个方法内部的逻辑都不需要改变,依然可以轻松获得期望的结果。
```php
$person1->printFullName();
$person2->printFullName();
```
输出结果为:
```
Jack_Smith
Tom_Brown
```
结语
以上就是PHP面向对象编程中封装的应用实例。通过将处理逻辑封装到类方法中,我们可以方便地维护代码,减少代码冗余,并提高代码的复用性。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。