从扩展的公共函数类访问公共属性父类

时间:2014-01-08 13:14:03

标签: php function class properties public

我是PHP的新手,这是我的代码

class number_config{
    public $length = 200, //declare a properties
           $width = 100,
           $height = 300;
}

class formula extends number_config{
        public function rectangular_prism(){
            $volume = $length * $width * $height;
            echo 'The rectangular prism volume is: '. $volume .'meter cubic';
         // i want this echo produce this,
         // The rectangular prism volume is: 6000000 meter cubic

         //set the new member_config properties value
            $length = 600;
            $width = 1000;
            $height = 400;
        }

        public function rectangular_prism2(){
            $volume = $length * $width * $height;
            echo 'The rectangular prism volume is: '. $volume .'meter cubic';
         // i want this echo produce this,
         // The rectangular prism volume is: 240000000 meter cubic

      //and then set the other new member_config properties value, and so on
            $length = 800;
            $width = 2000;
            $height = 300;
        }

}
$rectangular_prism_volume = new formula();
echo $rectangular_prism_volume->rectangular_prism();
echo $rectangular_prism_volume->rectangular_prism2();

首先,我很抱歉这个愚蠢的PHP代码,
我是新手,只是想练习:) 那些代码不起作用,
它打印出错误

  


  注意:未定义的变量: xxx.php 中的宽度 11 的颜色
  
  注意:未定义的变量: xxx.php 中的长度 11 的颜色
  
  注意:未定义的变量: xxx.php 中的高度 11 的颜色
  矩形棱柱体积为:0米立方
  注意:未定义的变量: xxx.php 中的宽度 23 的颜色
  
  注意:未定义变量:行 23 xxx.php 中的长度   
  注意:未定义的变量: xxx.php 中的高度 23 的颜色
  矩形棱柱体积为:0米立方

我想问的问题是如何获得该父类的属性 在函数上,并指定一个覆盖宽度,长度,高度,属性值的新属性值 感谢任何帮助我解决此问题的人:)

1 个答案:

答案 0 :(得分:0)

这是一个更好的方法,你想要做什么,使用set和get方法来设置你想要的成员值,然后得到它。

class number_config{
    public  $length = 200; //declare a properties
    public  $width = 100;
    public  $height = 300;

        public function setLength($l){
             $this->length = $l;
        }

        public function setWidth($w){
             $this->width = $w;
        }

        public function setHeight($h){
             $this->height = $h;
        }

        public function getLength(){
            return $this->length ;
        }

        public function getWidth(){
            return $this->width ;
        }

        public function getHeight(){
            return $this->height ;
        }

}

class formula extends number_config{
        public function rectangular_prism(){
            $volume = $this->getLength() * $this->getWidth() * $this->getHeight();
            echo 'The rectangular prism volume is: '. $volume .'meter cubic';
        }

        public function rectangular_prism2(){
            $volume = $this->getLength() * $this->getWidth() * $this->getHeight();
            echo 'The rectangular prism volume is: '. $volume .'meter cubic';

        }

}

$formula = new formula();

//call the function rectangular_prism() with some values
$formula->setLength(600);
$formula->setWidth(1000);
$formula->setHeight(400);
$formula->rectangular_prism();

//call the function rectangular_prism2() with some values
$formula->setLength(800);
$formula->setWidth(2000);
$formula->setHeight(300);
$formula->rectangular_prism2();