PHP创建Car类,汽车具有颜色、型号、车重等共同特性(属性),而汽车挂挡、停车、启动等共同的行为(方法),声明一个Car类,创建两个对象,分别为$Car1和$ Car1 2,并实现对对象中成员的访问。通过构造方法,每次实例化Car类时,为每个成员属性赋予一个自己特有的值。并定义Car类的析构方法,让对象在销毁前输出一句话
时间: 2024-02-28 22:55:06 浏览: 21
好的,我来为您解答这个问题。下面是PHP代码:
```php
class Car {
private $color;
private $model;
private $weight;
public function __construct($color, $model, $weight) {
$this->color = $color;
$this->model = $model;
$this->weight = $weight;
}
public function __destruct() {
echo "对象销毁前先说一句话,再见!<br>";
}
public function setColor($color) {
$this->color = $color;
}
public function setModel($model) {
$this->model = $model;
}
public function setWeight($weight) {
$this->weight = $weight;
}
public function getColor() {
return $this->color;
}
public function getModel() {
return $this->model;
}
public function getWeight() {
return $this->weight;
}
}
// 创建两个对象,并输出成员属性的值
$car1 = new Car('红色', '奔驰', '1吨');
echo "颜色:" . $car1->getColor() . "<br>";
echo "型号:" . $car1->getModel() . "<br>";
echo "车重:" . $car1->getWeight() . "<br>";
$car2 = new Car('黑色', '宝马', '0.8吨');
echo "颜色:" . $car2->getColor() . "<br>";
echo "型号:" . $car2->getModel() . "<br>";
echo "车重:" . $car2->getWeight() . "<br>";
```
这段代码定义了一个名为`Car`的类,其中有`$color`、`$model`和`$weight`三个私有属性,以及`__construct`、`__destruct`、`setColor`、`setModel`、`setWeight`、`getColor`、`getModel`和`getWeight`八个公有方法。
`__construct`方法是一个构造方法,用于在实例化`Car`类时为每个成员属性赋予一个自己特有的值。`__destruct`方法是一个析构方法,用于在对象销毁前输出一句话。
在主程序中,我们创建了两个`Car`对象`$car1`和`$car2`,并分别调用它们的`getColor`、`getModel`和`getWeight`方法输出它们的颜色、型号和车重。同时,我们也可以通过调用`setColor`、`setModel`和`setWeight`方法修改对象的成员属性。在程序结束时,由于对象被销毁,所以`__destruct`方法会被调用,输出一句话。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)