में ओवरराइड तरीकों मैं इस प्रकार माता-पिता और बच्चे श्रेणियां होती हैं:एक्सेस करना माता पिता के गुण और PHP
abstract class ParentObj {
private $data;
public function __construct(){
$this->data = array(1,2,3);
var_dump($this->data);
$this->method();
}
public function method(){
echo "ParentObj::method()";
}
}
class ChildObj extends ParentObj {
public function __construct(){
parent::__construct();
var_dump($this->data);
}
public function method(){
echo "ChildObj::method()";
}
}
उम्मीद उत्पादन:
array(1,2,3)
ChildObj::method()
array(1,2,3)
वास्तविक उत्पादन:
array(1,2,3)
ParentObj::method()
NULL
समस्या यह है कि बच्चा ऑब्जेक्ट डेटा प्रॉपर्टी तक नहीं पहुंच सकता है और माता-पिता ठंड में ओवरराइड विधि को कॉल करने से इनकार करते हैं घ।
क्या मैं कुछ गलत कर रहा हूं, या क्या किसी के पास कोई विचार है?
संपादित करें: मैं स्पष्ट करना चाहिए कि मैं के रूप में $child = new ChildObj()
ठीक है, संरक्षित करने के लिए निजी को बदलने से संपत्ति का उपयोग ठीक हो जाता है। –