Ci sono delle classi che non possono essere estese, perchè hanno appunto l'attributo final.
La classe in questione, in particolare, è una classe di servizio che contiene proprietà e metodi inseriti qui per non intasare le classi che poi la sfruttano per disegnare dentro se stessi tramite actionscript. Oltretutto la classe Graphics non può neanche essere creata dal costruttore, infatti recita la guida:
Non è possibile creare un oggetto Graphics direttamente dal codice ActionScript. Se si chiama
new Graphics(), viene generata un'eccezione.
Ora, non metti in dubbio che tu sia partito da un esempio simile, ma probabilmente la classe estendeva Shape o Sprite o MovieClip (tutte classi di visualizzazione su cui è possibile disegnare tramite actionscript).
Ti faccio un esempio di quello che intendo, riportando una mia classe di visualizzazione che disegna al proprio interno un rettangolo:
Codice PHP:
package {
import flash.display.Sprite;
public class Rect extends Sprite {
private var A:Number;
public function Rect (w:Number=100.0, h:Number=100.0, c:uint=0, b:Number=NaN, l:uint=0, o:Object=null) {
A = o != null && o['alphaFill'] != undefined ? o['alphaFill'] : 1.0;
if (o != null) for (var p:String in o) try { this[p] = o[p] } catch (err:*) {};
graphics.lineStyle(b, l, 1, false, "normal", "none", "miter", 255);
graphics.beginFill(c, A);
graphics.drawRect(0, 0, w, h);
graphics.endFill();
}
}
}
Da usare così:
Codice PHP:
var r:Rect = new Rect(200, 50, 0xFF00EE, 1, 0, {x:10, y:10});
addChild(r);