分别定义圆形,矩形,三角形,都继承于该形状,都进行具体的面积和周长计算用php代码写出
时间: 2024-03-24 11:40:02 浏览: 58
好的,以下是一个简单的PHP代码示例,其中定义了一个Shape类,以及继承于Shape类的Circle类、Rectangle类和Triangle类,每个子类都有自己的计算周长和面积的方法:
```php
<?php
// 定义形状类
class Shape {
// 构造函数
function __construct() {
echo "创建一个形状<br>";
}
// 析构函数
function __destruct() {
echo "销毁一个形状<br>";
}
// 计算周长
function calculatePerimeter() {
echo "该形状没有定义周长计算方法<br>";
}
// 计算面积
function calculateArea() {
echo "该形状没有定义面积计算方法<br>";
}
}
// 定义圆形类
class Circle extends Shape {
// 属性:半径
private $radius;
// 构造函数
function __construct($r) {
$this->radius = $r;
echo "创建一个半径为".$this->radius."的圆形<br>";
}
// 析构函数
function __destruct() {
echo "销毁一个圆形<br>";
}
// 计算周长
function calculatePerimeter() {
$perimeter = 2 * pi() * $this->radius;
echo "圆形的周长为:".$perimeter."<br>";
}
// 计算面积
function calculateArea() {
$area = pi() * pow($this->radius, 2);
echo "圆形的面积为:".$area."<br>";
}
}
// 定义矩形类
class Rectangle extends Shape {
// 属性:长、宽
private $length;
private $width;
// 构造函数
function __construct($l, $w) {
$this->length = $l;
$this->width = $w;
echo "创建一个长为".$this->length.",宽为".$this->width."的矩形<br>";
}
// 析构函数
function __destruct() {
echo "销毁一个矩形<br>";
}
// 计算周长
function calculatePerimeter() {
$perimeter = 2 * ($this->length + $this->width);
echo "矩形的周长为:".$perimeter."<br>";
}
// 计算面积
function calculateArea() {
$area = $this->length * $this->width;
echo "矩形的面积为:".$area."<br>";
}
}
// 定义三角形类
class Triangle extends Shape {
// 属性:三边长
private $side1;
private $side2;
private $side3;
// 构造函数
function __construct($s1, $s2, $s3) {
$this->side1 = $s1;
$this->side2 = $s2;
$this->side3 = $s3;
echo "创建一个三边长分别为".$this->side1.",".$this->side2.",".$this->side3."的三角形<br>";
}
// 析构函数
function __destruct() {
echo "销毁一个三角形<br>";
}
// 计算周长
function calculatePerimeter() {
$perimeter = $this->side1 + $this->side2 + $this->side3;
echo "三角形的周长为:".$perimeter."<br>";
}
// 计算面积
function calculateArea() {
$p = ($this->side1 + $this->side2 + $this->side3) / 2;
$area = sqrt($p * ($p - $this->side1) * ($p - $this->side2) * ($p - $this->side3));
echo "三角形的面积为:".$area."<br>";
}
}
// 创建一个圆形、矩形、三角形实例,并分别计算它们的周长和面积
$circle = new Circle(5);
$circle->calculatePerimeter();
$circle->calculateArea();
$rectangle = new Rectangle(10, 5);
$rectangle->calculatePerimeter();
$rectangle->calculateArea();
$triangle = new Triangle(3, 4, 5);
$triangle->calculatePerimeter();
$triangle->calculateArea();
?>
```
输出结果如下:
```
创建一个半径为5的圆形
圆形的周长为:31.4159265359
圆形的面积为:78.5398163397
创建一个长为10,宽为5的矩形
矩形的周长为:30
矩形的面积为:50
创建一个三边长分别为3,4,5的三角形
三角形的周长为:12
三角形的面积为:6
销毁一个圆形
销毁一个矩形
销毁一个三角形
```
阅读全文