PHP: 如何计算圆的体积、直径和面积?

PHP: How to calculate the volume, diameter and area of a circle?

我正在努力了解构造函数和 PHP 总体而言,但我在这里想要实现的是一种使用 [= 计算圆的体积、直径和面积的方法12=] 和 FOUR_THIRDS 作为 class 中的常量。

我的代码一直说常量有错误,说它们未定义,但我从 php.net 复制了方法。然后 $radius 也显示为未定义的变量,所以我应该在 class 的某处添加 $radius = 1; 来定义它,这就是定义的意思吗?

<?php

class SphereCalculator {

const PI = 3.14;
const FOUR_THIRDS =4/3;



    public function __construct($radius){
        $this->classRadius = $radius;
    }

    public function setRadius ($radius){
        $this->classRadius = $radius;
    }

    public function getRadius(){
        return $this->classRadius;
    }


    public function getVolume () {

        return FOUR_THIRDS * PI * ($this->classRadius * $this->classRadius);
    }


    public function getArea () {

        return PI * ($this->classRadius * $this->classRadius);
    }

    public function getDiameter () {

        return $this->classRadius += $this->classRadius;
    }

}

$mySphere = new SphereCalculator ();
$newRadius =$mySphere->radius; 
$newRadius = 113;

echo "The volume of the circle is ".$mySphere->getVolume ()."<br>";
echo "The diameter of the circle is ".$mySphere->getDiameter ()."<br>";
echo "The area of the circle is ".$mySphere->getArea ()."<br>";



?>

您应该使用 class 名称的常量,例如 ClassName::ConstantName,如果您在 class 中使用,那么您可以使用 self::ConstantName.

因此,您应该将常量用作 self::PIself::FOUR_THIRDS

您需要将常量FOUR_THIRDS定义为浮点值或整数值。您已将 with 定义为 4/3,这是不可接受的。

因此,您需要定义为,

const PI = 3.14;
const FOUR_THIRDS = 1.33;

因为你在class里面定义了常量,它把它作为class本身的成员变量。因此,您需要使用 self::PI.

访问常量

您的 php 代码的其他问题是您定义的构造函数有误。您在定义构造函数时有一个参数,但是在您创建对象的代码的主要部分中,您没有传递参数。

这是更正后的 PHP 代码的 link:https://ideone.com/UOMUPf