Pour créer une classe en AS1, voici un petit exemple :

_global.PersoField = function() { } //constructeur
PersoField.prototype.sayHello = function() { trace("Hello"); } //une méthode

Que l'on utilise comme toujours :

var pf = new PersoField();
pf.sayHello(); //Hello

Maintenant le niveau de difficulté augmente. Il faut faire hériter cette classe de TextField. Pour cela, il existe la propriété __proto__ qui sert justement à définir la chaîne d'héritage !

_global.PersoField = function() { }
PersoField.prototype.sayHello = function() { trace("Hello"); }
 
PersoField.prototype.__proto__ = TextField.prototype; //héritage de TextField

Lorsqu'une méthode est appelée sur une instance de la classe PersoField et que celle-ci n'est pas trouvée, le player va utiliser cette propriété pour remonter dans la chaîne d'héritage pour voir si elle n'existe pas dans une classe parente et ainsi de suite.

Il reste encore le problème de l'utilisation... La méthode createTextField en AS1 et AS2 renvoie une instance de TextField et non pas de PersoField ! C'est là que la magie du prototypage intervient : grâce à la propriété __proto__ il est possible de 'spécifier' la classe d'un objet :

var field = this.createTextField("field", 1, 10,10,250,250);
field.__proto__ = PersoField.prototype; //spécialisation
 
field.sayHello(); //Hello

Au final, pour avoir un peu plus de facilité d'utilisation, il suffit d'encapsuler tout cela dans une méthode statique :

_global.PersoField = function() { }
PersoField.prototype.sayHello = function() { this.text = "Hello"; }
 
//méthode statique (pas de 'prototype')
PersoField.createTextField = function(container, name, depth, x, y, with, height)
{
    var field = container.createTextField(name, depth, x, y, width, height);
    field.__proto__ = PersoField.prototype;
    return field;
}

Il ne reste plus qu'a utiliser :

var field = PersoField.createTextField(this, "field", 0, 0, 200, 10);
field.sayHello(); //le champs de texte affichera Hello

En bref, c'est bien plus simple et pratique en AS3 ! A noter que j'ai tiré cette article de ce thread et que c'est Ekameleon qui apporte la solution !