Você está na página 1de 3

Introduccin

Orientada a objetos a JavaScript


JavaScript dispone de fuertes capacidades de programacin orientada a
objetos, a pesar de que han tenido lugar algunos debates respecto a sus
diferencias de sus capacidades en comparacin con otros lenguajes.
Este artculo comienza con una Introduccin a la programacin orientada
a objetos, luego examina el modelo de objetos de JavaScript y,
finalmente, muestra los conceptos de programacin orientada a objetos
en JavaScript.

Programacin orientada a objetos

Concepto.La programacin orientada a objetos es un paradigma de programacin


que utiliza la abstraccin para crear modelos basados en el mundo real.
Utiliza diversas tcnicas de paradigmas previamente establecidas,
incluyendo la modularidad, polimorfismo y encapsulamiento. Hoy
en da, muchos lenguajes de programacin (como Java, JavaScript, C#,
C++, Python, PHP, Ruby y Objective-C) soportan programacin orientada
a objetos (POO).

Clases y objetos
La clase
JavaScript es un lenguaje basado en prototipos que no contiene ninguna
declaracin de clase, como se encuentra, por ejemplo, en C + + o Java.
Esto es a veces confuso para los programadores acostumbrados a los
lenguajes con una declaracin de clase. En su lugar, JavaScript utiliza
funciones como clases. Definir una clase es tan fcil como definir una
funcin. En el ejemplo siguiente se define una nueva clase llamada
Persona.
function Persona() { }

El objeto (ejemplo de clase)


Para crear un nuevo ejemplo de un objeto obj utilizamos la declaracin
new obj , asignando el resultado (que es de tipo obj ) a una variable para
tener acceso ms tarde.
En el siguiente ejemplo se define una clase llamada Persona y creamos
dos instancias ( persona1 y persona2 ).

function Persona() {
}
var persona1 = new Persona();
var persona2 = new Persona();

Los mtodos
Los mtodos siguen la misma lgica que las propiedades, la diferencia
es que son funciones y se definen como funciones. Llamar a un mtodo
es similar a acceder a una propiedad, pero se agrega () al final del
nombre del mtodo, posiblemente con argumentos.
En el siguiente ejemplo se define y utiliza el mtodo diHola() para la
clase Persona.

Terminologa
Clase
Define las caractersticas del Objeto.
Objeto
Una instancia de una Clase.
Propiedad
Una caracterstica del Objeto, como el color.

Mtodo
Una capacidad del Objeto, como caminar.
Constructor
Es un mtodo llamado en el momento de la creacin de instancias.
Herencia
Una Clase puede heredar caractersticas de otra Clase.
Encapsulamiento
Una Clase slo define las caractersticas del Objeto, un Mtodo slo define cmo se
ejecuta el Mtodo.
Abstraccin
La conjuncin de herencia compleja, mtodos, propiedades que un objeto debe ser
capaz de simular en un modelo de la realidad.

Polimorfismo

Diferentes Clases podran definir el mismo mtodo o propiedad.

La sobrecarga de mtodos.La sobrecarga de mtodos consiste en poner varios mtodos con el


mismo nombre en la misma clase, pero siempre que su lista de
argumentos sea distinta. Ojo, repito, siempre que su lista de
argumentos sea distinta, es decir, no puede haber dos mtodos que se
llamen igual con la misma lista de argumentos, aunque devuelvan datos
de distinto tipo. El compilador sabra a cul de todas las sobrecargas nos
referimos por los argumentos que se le pasen en la llamada, pero no
sera capaz de determinar cul de ellas debe ejecutar si tienen la misma
lista de argumentos. Por ejemplo, no podramos sobrecargar el mtodo
Nuevo Ingreso de este modo:
public int NuevoIngreso(double cantidad) //Error. No se puede sobrecargar
as
{...}

Você também pode gostar