我如何在扩展类中使用主类变量

时间:2010-09-04 16:40:06

标签: php class

class a{

$array = array();

}
class b extends a{


**I need to get that array here !**

}

我不熟悉oops概念所以请有人帮助我

3 个答案:

答案 0 :(得分:3)

   class a
   { 

      public $_array = array(); 

   } 

   class b extends a
   { 

      public function getArray()
      {
         return $this->_array;
      }

   } 


   $x = new b();
   echo $x->_array;
   echo $x->getArray();

并阅读visibility in classes,它将有助于了解什么时候可以从子类中访问某些内容,或者只能从父类中访问

答案 1 :(得分:0)

您只需阅读属于子类的属性

<?
    class a {
        var $array = array(1,2,3);
    }

    class b extends a {
    }

    $b = new b();
    print_r ($b->array); // prints array
?>

请参阅online

答案 2 :(得分:0)

您需要将数组定义为类a的公共属性或受保护属性

class a {
  protected $array = array();
}

class b extends a {
   public function __construct() {
     $this->array = array('a', 'b', 'c');
   }
}

属性有三种可见性级别&amp;方法:

  1. 公开。这意味着该属性在类外可见
  2. 保护。此属性将在类及其子类(扩展此类的类)中可见
  3. 私人。此属性仅在定义属性的类中可见。