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