2016 - 2024

感恩一路有你

PHP面向对象编程:封装与维护

浏览量:1916 时间:2024-07-09 18:24:31 作者:采采

在进行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面向对象编程中封装的应用实例。通过将处理逻辑封装到类方法中,我们可以方便地维护代码,减少代码冗余,并提高代码的复用性。

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。