Hola juanf03, JavaScript es un lenguaje muy versátil, multi-paradigma, que mezcla conceptos de programación funcional, programación orientada a objetos y programación imperativa.
Pero el modelo OO (Orientado a Objetos) de JavaScript no es basado en clases como otros lenguajes (por ejemplo Java, C#, SmallTalk, etc...), el modelo OO de JavaScript es basado en prototipos, este paradigma es también conocido como Programación Basada en Instancias o Programación Basa en Prototipos.
En estos paradigmas las "clases" no existen, y la re-utilización de código o procesos (herencia en lenguajes basados en clases) se obtiene por medio de la clonación de objetos existentes, que sirven a su vez de prototipos, para extender las funcionalidades base.
Por lo tanto podríamos reescribir tu código de la manera siguiente:
Código javascript
:
Ver originalfunction Circulo(radio) { //Constructor
this.radio = radio;
}
Circulo.prototype.area = function() {
return Math.PI*this.radio*this.radio;
}
Circulo.prototype.longitud = function(){
return 2*Math.PI*this.radio;
}
function creaDosCirculos(){
var circ1 = new Circulo(1);
var circ2 = new Circulo(3);
alert('Area de Circ1: '+ circ1.area());
alert('Longitud de Circ1: '+ circ1.longitud());
alert('Area de Circ2: '+ circ2.area());
alert('Longitud de Circ2: '+ circ2.longitud());
}
creaDosCirculos();
Saludos