package{
import flash.display.Sprite;
public class Main extends Sprite{
public function Main(){
var e:Ellipse = new Ellipse (100, 200); // draw( ) invoked here
e.setWidth(25); // draw( ) invoked again here
e.setHeight(50); // draw( ) invoked again here
}
}
}
class Ellipse extends flash.display.Shape {
private var w:Number;
private var h:Number;
public function Ellipse (width:Number, height:Number) {
w = width;
h = height;
draw( );
}
public function setWidth (newWidth:Number):void {
w = newWidth;
draw( );
}
public function getWidth ( ):Number {
return w;
}
public function setHeight (newHeight:Number):void {
h = newHeight;
draw( );
}
public function getHeight ( ):Number {
return h;
}
private function draw ( ):void {
graphics.lineStyle(1);
graphics.beginFill(0xFFFFFF, 1);
graphics.drawEllipse(0, 0, w, h);
}
}