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::PI
和 self::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
我正在努力了解构造函数和 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::PI
和 self::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