Re: extended class question

From: Date: Mon, 13 Sep 2004 23:23:50 +0000
Subject: Re: extended class question
Groups: php.general 
Request: Send a blank email to php-general+get-196579@lists.php.net to get a copy of this message
* Thus wrote Ed Lazor: > How come the output to this script is "World Trade Center" instead of "Pizza > Delivery"? > > Thanks, > > Ed > > ---------------------------------------------------------------- > > <?php > > class test { > private $var1; defines 'test' class to only have access. > > function __construct() { > $this->var1 = "World Trade Center"; > } > > function get_var1() { > return $this->var1; accesses the private $var1 > } > > function set_var1($data) { > $this->var1 = $data; > } > } > > class testing extends test { > function __construct() { > parent::__construct(); > $this->var1 = "Pizza Delivery"; This creates a publicly accessable member for the *testing* class. > } > } > > > $test2 = new testing(); > print "var1 = " . $test2->get_var1() . "<br>"; If you wish for it to change within testing class, declare the member as a protected var in the test class. class test { protected $var1; /* allows access to extending classes */ } See also: http://php.net/oop5.visibility Curt -- The above comments may offend you. flame at will.

« previous php.general (#196579) next »