Argumentos
String: nombre de la clase, debe ser el mismo que la variable donde almacenamos la clase.
Function: función de "clase".
String[optional]: "final", declara la clase como final.
Crea y devuelve una clase.
function ClassA(){
this.value = "default";
this.getValue = function(){
return this.value;
};
this.$$constructor = function(v){
this.value = v || this.value;
};
};
var ClassA = Class.create("ClassA", ClassA);
var instanceA = new ClassA("one");
alert(instanceA.getValue());// "one"
Argumentos
String: nombre de la clase, debe ser el mismo que la variable donde almacenamos la clase.
Class: clase padre o superclase.
Function: función de "clase".
String[optional]: "final", declara la clase como final.
Crea y devuelve una clase que hereda los métodos y atributos de otra clase.
function ClassA(){
this.value = "default";
this.getValue = function(){
return this.value;
};
this.$$constructor = function(v){
this.value = v || this.value;
};
};
var ClassA = Class.create("ClassA", ClassA);
function ClassB(){
this.$$constructor = function(v){
this.value = v || this.value;
};
};
var ClassB = Class.extend("ClassB",ClassA,ClassB);
var instanceB = new ClassB("Two");
alert(instanceB.getValue());// return "Two";
Argumentos
String: nombre de la clase, debe ser el mismo que la variable donde almacenamos la clase.
Class: clase que queremos clonar.
String[optional]:"final", declara la clase como final.
Clona una clase.
function ClassA(){
this.value = "default";
this.getValue = function(){
return this.value;
};
this.$$constructor = function(v){
this.value = v || this.value;
};
};
var ClassA = Class.create("ClassA", ClassA);
var cloneClass = Class.clone("cloneClass",ClassA);
var instance = new cloneClass("clone");
alert(instance.getValue()); // return "clone"
Argumentos
Instance: instancia.
Class: clase.
Devuelve un valor boolean, true si es un instancia de la clase o de las superclases de ésta.
function ClassA(){
this.value = "default";
this.getValue = function(){
return this.value;
};
this.$$constructor = function(v){
this.value = v || this.value;
};
};
var ClassA = Class.create("ClassA", ClassA);
var cloneClass = Class.clone("cloneClass",ClassA);
var instance = new cloneClass("clone");
alert(Class.instanceOf(instance,cloneClass)); // true
alert(Class.instanceOf(instance,ClassA)); // false
Argumentos
Class|Instante: clase o instancia.
Devuelve el nombre de la clase.
Class.getName(instanceB);// return "ClassB";
Argumentos
Class|Instante: clase o instancia.
Devuelve un valor numérico con el nivel de la clase dentro de la jerarquía de clases.
Class.getIndex(ClassB) // return 1
Argumentos
Class|Instance: clase o instancia.
Devuelve un array con los nombres de las superclases de una instancia o clase.
function ClassA(){
this.value = "default";
this.getValue = function(){
return this.value;
};
this.$$constructor = function(v){
this.value = v || this.value;
};
};
var ClassA = Class.create("ClassA", ClassA);
function ClassB(){
this.$$constructor = function(v){
this.value = v || this.value;
};
};
var ClassB = Class.extend("ClassB",ClassA,ClassB);
var indexB = Class.getIndex(ClassB);
var ClassC = Class.extend("ClassC",ClassB,function(){
this.$$constructor = this.$$super[indexB].$$constructor;
});
var instanceC = new ClassC("Three");
alert(Class.getSuperClasses(instanceC)); // ["ClassB","ClassA"]
alert(Class.getSuperClasses(ClassC)); // ["ClassB","ClassA"]
Argumentos
Class|Instance:[optional] clase o instancia.
Devuelve un array con los nombres de todas las clases declaradas. Si se envía como argumento una clase o instancia devuelve un array con las clases anidadas.
Si un nombre se repite significa que esa clase ha sido sobrescrita.
function ClassA(){
this.value = "default";
this.getValue = function(){
return this.value;
};
this.$$constructor = function(v){
this.value = v || this.value;
};
};
var ClassA = Class.create("ClassA", ClassA);
function ClassB(){
this.$$constructor = this.$$super[0].$$constructor;
};
var ClassB = Class.extend("ClassB",ClassA,ClassB);
var indexB = Class.getIndex(ClassB);
var ClassC = Class.extend("ClassC",ClassB,function(){
this.$$constructor = this.$$super[indexB].$$constructor;
});
alert(Class.getDeclaredClasses()); // ["ClassA","ClassB","ClassC"]
Argumentos
Class|Instance: clase o instancia.
Devuelve un array con los nombres de las clases u objetos implementadas mediante $$implement.
var ClassA = Class.create("ClassA",function(){
this.A = "A";
});
var JSON = {
$$className:"JSON",
getValue:function(){
return "value:JSON";
}
};
var ClassM = Class.create("ClassA",function(){
this.$$implement(ClassA,JSON);
this.$$constructor = function(){
};
});
alert(Class.getImplementedClasses(ClassM))// ClassA, JSON
Argumentos
String: nombre de la clase.
Devuelve un valor boolean , true si existe false en caso contrario.
Class.exists("classX")// return false
Argumentos
Function: llama al método $$finalize, después elimina todos los métodos y atributos, menos $$finalized, cuyo valor será true.
Devuelve null.
function ClassA(){
this.value = "";
this.$$DEFINE_STATIC = function(){
this.$$static.instances = [];
this.$$static.removeInstance = function(inst){
var instances = this.$$static.instances;
for(var ctr = 0; ctr < instances.length; ctr++){
if(instances[ctr] == inst){
instances.splice(ctr,1);
break
}
}
};
};
this.$$constructor = function(v){
this.$$static.instances.push(this);
this.value = v;
};
this.$$finalize = function(){
this.$$static.removeInstance(this);
};
};
var ClassA = Class.create("ClassA",ClassA);
var inst1 = new ClassA("instance 1");
alert(ClassA.$$static.instances.length)// 1
inst1 = Class.finalize(inst1);
alert(ClassA.$$static.instances.length)// 0