创建一个PHP文件,首先声明一个名为Shape的抽象类,然后以Shape作为基类来创建派生类 Triangle和Rectangle,用于计算长方形和三角形的面积
时间: 2023-11-28 07:48:20 浏览: 47
声明抽象基类
可以这样实现:
```php
abstract class Shape {
abstract protected function getArea();
}
class Triangle extends Shape {
private $base;
private $height;
public function __construct($base, $height) {
$this->base = $base;
$this->height = $height;
}
protected function getArea() {
return 0.5 * $this->base * $this->height;
}
}
class Rectangle extends Shape {
private $width;
private $height;
public function __construct($width, $height) {
$this->width = $width;
$this->height = $height;
}
protected function getArea() {
return $this->width * $this->height;
}
}
$triangle = new Triangle(10, 5);
$rectangle = new Rectangle(10, 5);
echo "The area of the triangle is " . $triangle->getArea() . "<br/>";
echo "The area of the rectangle is " . $rectangle->getArea();
```
在这个例子中,我们定义了一个抽象类 `Shape`,其中有一个抽象方法 `getArea()`,它没有实际的实现。然后我们创建了两个派生类 `Triangle` 和 `Rectangle`,它们都继承自 `Shape` 类,并实现了 `getArea()` 方法,用于计算它们的面积。最后,我们创建了一个 `Triangle` 对象和一个 `Rectangle` 对象,并调用它们的 `getArea()` 方法来计算它们的面积,并输出结果。
阅读全文