PHP数字球,球体的计算

这篇博客介绍了如何在PHP中创建Sphere类,该类继承自抽象图形类,并实现了计算球体面积和体积的方法。文章详细展示了Sphere类的代码实现,包括构造函数、面积和体积计算函数,以及用户输入验证。同时,还提供了修改后的index.php代码片段,用于展示和验证用户输入的球体半径并输出相应的面积和体积。
摘要由CSDN通过智能技术生成

新建Sphere.class.php文件:

这里需要注意一下,因为抽象图形类里只有面积和周长的方法,而球体要求的是面积和体积

我们可以也是实现这两个方法,只不过计算时计算的是面积和体积就行,打印时也改一下就行了<?php

function area() {

return 4*pi()* $this->r* $this->r; ;

}

//求的体积

function zhou() {

return pow((4/3)*$this->r*pi(),3);

}

整体代码如下:<?php

class Sphere extends Shape {

private $r;

//    private $height;

function __construct($arr = array()) {

if (!empty($arr)) {

$this->r = $arr['r'];

//            $this->height = $arr['height'];

}

$this->name = "球体";

$this->error = '';

}

//:4π(R的平方),体积 4/3π*r的立方

//球的面积

function area() {

return 4*pi()* $this->r* $this->r; ;

}

//求的体积

function zhou() {

return pow((4/3)*$this->r*pi(),3);

}

function view($arr) {

$form='';

$form .= "

";

$form .= "请输入".$arr['name']."的半径:
";

$form .= "
";

$form .= "    ";

$form .= "";

$form .= "

";

echo $form;

}

function yan($arr) {

$bz = true;

if ($arr['r']

$this->error .= "半径小于0;";

$bz = false;

} else {

if (!is_numeric($arr['r'])) {

$this->error .= "半径不是数字;";

$bz = false;

}

}

return $bz;

}

}

修改index.php 代码:<?php

if (!empty($_GET['action'])) {

//  echo "传送成功";

$classname = ucfirst($_GET['action']);

$shape = new $classname($_POST);

$shape->view($_POST);

if (isset($_POST['sub'])) {

echo "

";

if($shape->name!='球体'){

if ($shape->yan($_POST)) {

echo "".$shape->name."的周长".$shape->zhou().""."
";

echo "
";

echo "".$shape->name."的面积".$shape->area().""."
";

}else {

echo "错误:$shape->error";

}

echo "

";

}else{

if ($shape->yan($_POST)) {

echo "".$shape->name."的表面积".$shape->area().""."
";

echo "
";

echo "".$shape->name."的体积".$shape->zhou().""."
";

}else {

echo "错误:$shape->error";

}

echo "

";
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值