2011-02-04 24 views
0

多分あなたの中にはjpgraphを使っていくつかのグラフを生成する人もいます。プライベート属性($ errwidth)をjpgraph-class(ErrorPlot)から変更したい。ほとんどの場合、jpgraphはすべての固有プロパティを設定する関数を提供します。しかし、この場合ではありません。PHP:継承されたクラスの属性を変更する

ここに私の挑戦:

class ErrorPlot extends Plot { 
    // Original class 
    private $errwidth=2; 
    ... 
} 

class SpecialErrorPlot extends ErrorPlot { 
    // "Extension" to modify the attribute 
    function SetErrWidth($w){ 
    $this->errwidth = $w; 
    } 
} 

$chart_obj = new SpecialErrorPlot(array(1,2,3,4,5,6)); 
$chart_obj->SetErrWidth(10); 


SpecialErrorPlot Object (
    [errwidth:private] => 2 
    ... 
    [errwidth] => 10 
) 

結果:2つの属性!これらの2つの属性を取得するには不十分ですが、なぜ私は理解できません!あなたが私を助けることを願っています!

ステファン

答えて

2

あなたはプライベートではありません保護します。

保護された関数と変数は子クラスによって変更できますが、private関数と変数はそのクラスだけで変更することはできません。

関連する問題