Hi all,
I'm having a blackout here. I thought I understood these principles, but I can't seem to get it working anymore. I want to let a DeleteButton inherit from a general Button class. This DeleteButton should alter the protected padding values and have a static label. This is what I have:
public class Button
{
    private var _labelText:String;
    protected var _paddingX:Number = 10;
    protected var _paddingY:Number = 5;
    public function Button( labelText:String ):void
    {
     _labelText = labelText;
    }
}
public class DeleteButton extends Button
{
    public function DeleteButton():void
    {
     _paddingX = 5;
     _paddingY = 2;
     super( 'x' );
    }
}
Now, I thought the altered _paddingX and _paddingY values in the inherited class would bubble up to the super class. But they don't. The DeleteButton is still constructed with the default values of the super class. I can't figure out how to do it anymore. What am I missing here?
Thanks in advance.
Edit:
I guess I had AS3's implementation mixed up with PHP's. This 'equivalent' example in PHP is perfectly legal:
class Button
{
    protected $_paddingX = 10;
    protected $_paddingY = 5;
    public function __construct( $label = '' )
    {
     var_dump( $label . ':' );
     var_dump( $this->_paddingX );
     var_dump( $this->_paddingY );
     echo '<br>';
    }
}
class DeleteButton extends Button
{
    public function __construct()
    {
     $this->_paddingX = 5;
     $this->_paddingY = 2;
     parent::__construct( 'x' );
    }
}
$button = new Button( 'browse' );
$deleteButton = new DeleteButton();
// this outputs:
string(7) "browse:" int(10) int(5) 
string(2) "x:" int(5) int(2)