cabecera javascript para novatos

Programación Orientada a objetos 1/2 | JavaScript para novatos #14º

Introducción a la POO

La Programación Orientada a Objetos es un paradigma de programación que utiliza la abstracción para crear modelos basados ​​en el mundo real. (Mozzilla Foundation)

Si tradicionalmente los programas se constituían de una serie de instrucciones. La POO se puede definir como el desarrollo de programas basado en «objetos» que interactúan y cooperan entre sí.

En la POO los objetos se asemejan a máquinas con una tarea definida que pueden recibir información, procesarla, y compartirla con otros objetos.

Los objetos

Los objetos son «como» grandes variables capaces de contener otras variables (llamadas propiedades) y funciones (llamadas métodos).

En JavaScript además de los objetos predefinidos también puedes definir y crear tus propios objetos.

Existen diferentes maneras de crear nuevos objetos:

1- Definir y crear un objeto único (instancia) (notación Literal)

Sintaxis objeto
14.1 Sintaxis objeto
var persona = {
       nombre:"Juan",
       apellido:"Pérez",
       edad:50,
       colorOjos:"azul"
};

El objeto se declara con la palabra clave «var» y unas llaves que agrupan su contenido.

Las propiedades requieren un nombre y se declaran colocando dos puntos después del nombre y una coma para separar cada sentencia.

Otro modo de definir  y crear un objeto único (instancia) es con la palabra clave «new». (Es preferible por simplicidad y rapidez utilizar la primera manera en vez de esta).

var persona = new Object();
persona.nombre = "John";
persona.apellido = "Smith";
persona.edad = 50;
persona.ojos = "azules";

2- Definir un objeto constructor

 Define un objeto constructor con el que después podemos crear objetos del tipo construido (instancias). Este es el método más común.

(Su paralelismo en otros lenguajes serían las clases)

Tenemos que pensar en el «constructor» como en una plantilla con la que construiremos los objetos. Esta «plantilla» constructora debe albergar las diferentes características (propiedades y métodos) que poseerán los objetos que se construyan.

Los objetos construidos a partir del objeto constructor son las denominadas instancias. Para crear la instancia del objeto tenemos que utilizar el operador «new» seguido del nombre del constructor al que invocamos.

Aunque ya lo explicaremos más adelante, de momento simplemente recuerda que las instancias comparten «prototipo» con el constructor.

Veamos su sintaxis

Sintaxis constructor
14.2 Sintaxis constructor

Ejemplo de constructor:

function Persona (valorNombre, valorApellido, valorEdad) {
       this.nombre = valorNombre;
       this.apellido = valorApellido;
       this.edad = valorEdad;
}

El constructor es muy parecido a una función, por eso es recomendable que su nombre comience con una mayúscula para diferenciarlo.

Las propiedades se declaran de un modo ligeramente diferente a los procedimientos anteriores. Las diferencias radican en el uso de «this» en vez del nombre del objeto y en la utilización de argumentos:

Palabra clave «this»: En Javascript utilizamos «this» para referirnos al objeto que contiene el código. Al declarar las propiedades en un objeto constructor debemos utilizar «this», ya que cuando creemos sus correspondientes instancias, estas tendrán diferentes nombres, con lo cual si en el objeto constructor nos referimos a ellas a través del nombre de éste, no las encontrará en las instancias.

Argumentos en el objeto: Lo bueno de utilizar un constructor es que partiendo de él podemos crear infinidad de instancias, pero para que estas instancias nos sean realmente útiles tenemos que poder asignarles diferentes valores a sus propiedades si así nos interesa. Es aquí donde gracias a los argumentos que podemos pasar a la función constructora cuando la llamemos, crearemos instancias con diferentes valores.

Una vez creado el constructor se crean a partir de este las instancias con el operador «new». El operador «new» retorna un objeto basado en el constructor.

Sintaxis instancia
14.3 Sintaxis instancia

Continuando con el ejemplo anterior del constructor, creamos ahora dos instancias con el constructor “Persona”. En el momento de crear la instancia le pasamos los argumentos que serán los valores de las propiedades “nombre”, “apellido” y “edad”.

var cliente1 = new Persona("Ander", "Sagasta", 34);
var cliente2 = new Persona("Sara", "Pérez", 19);  // Instancias

Posteriormente para acceder a una propiedad de un objeto debemos usar el operador punto «.» entre el nombre del objeto y la propiedad.

Sintaxis llamada a propiedad
14.4 Sintaxis llamada a propiedad

Ejemplo:

document.write (cliente1.nombre + " " + cliente1.apellido + "     tiene " + cliente1.edad);

Otra manera de acceder a una propiedad, aunque es menos común, es utilizando corchetes. (Notación de tipo array).

cliente1["edad"]

Aquí dejamos el primer capítulo dedicado a la Programación Orientada a Objetos, en el siguiente veremos más sobre las propiedades y los métodos que poseen los objetos.


Ir a Javascript para novatos 15ª parte

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *