使用PHP1.创建一个shape3抽象类,内有2个抽象方法方法名分别是area-面积、zc-周长、 2.创建一个派生类circle继承shape3,实现所有面积和周长抽象方法---圆。【PI=3.14必须定义为类常量,其他所有属性为私有。】 创建一个派生类rect继承shape3,实现所有面积和周长抽象方法---矩形。 注意:其他属性和功能根据公式自主定义,每个派生类必须运用构造函数。 3.创建p1对象(半径=6),调用圆的周长和面积 求出半径5的面积周长后,在类外对半径值更新为8,并求出半径更新后的面积。 创建p2对象(长=7,宽:4),调用矩形的周长和面积
时间: 2024-02-20 07:01:09 浏览: 52
以下是 PHP 代码实现:
```
<?php
abstract class shape3 {
const PI = 3.14;
abstract public function area();
abstract public function zc();
}
class circle extends shape3 {
private $radius;
public function __construct($radius) {
$this->radius = $radius;
}
public function area() {
return self::PI * $this->radius * $this->radius;
}
public function zc() {
return 2 * self::PI * $this->radius;
}
}
class rect extends shape3 {
private $length;
private $width;
public function __construct($length, $width) {
$this->length = $length;
$this->width = $width;
}
public function area() {
return $this->length * $this->width;
}
public function zc() {
return 2 * ($this->length + $this->width);
}
}
// 创建 p1 对象
$p1 = new circle(6);
echo "圆的周长:" . $p1->zc() . "<br>";
echo "圆的面积:" . $p1->area() . "<br>";
// 更新半径并计算面积
$p1 = new circle(8);
echo "半径更新后的面积:" . $p1->area() . "<br>";
// 创建 p2 对象
$p2 = new rect(7, 4);
echo "矩形的周长:" . $p2->zc() . "<br>";
echo "矩形的面积:" . $p2->area() . "<br>";
?>
```
输出结果为:
```
圆的周长:37.68
圆的面积:113.04
半径更新后的面积:200.96
矩形的周长:22
矩形的面积:28
```
阅读全文