Las variables del objeto se localizan en el centro o núcleo del objeto. Los métodos rodean y esconden el núcleo del objeto de otros objetos en el programa. Al empaquetamiento de las variables de un objeto con la protección de sus métodos se le llama encapsulamiento. Típicamente, el encapsulamiento es utilizado para esconder detalles de la puesta en práctica no importantes de otros objetos. Entonces, los detalles de la puesta en práctica pueden cambiar en cualquier tiempo sin afectar otras partes del programa.
El encapsulamiento de variables y métodos en un componente de software ordenado es, todavía, una simple idea poderosa que provee dos principales beneficios a los desarrolladores de software:
Modularidad, esto es, el código fuente de un objeto puede ser escrito, así como darle mantenimiento, independientemente del código fuente de otros objetos. Así mismo, un objeto puede ser transferido alrededor del sistema sin alterar su estado y conducta.
Ocultamiento de la información, es decir, un objeto tiene una "interfaz publica" que otros objetos pueden utilizar para comunicarse con él. Pero el objeto puede mantener información y métodos privados que pueden ser cambiados en cualquier tiempo sin afectar a los otros objetos que dependan de ello.
Los objetos proveen el beneficio de la modularidad y el ocultamiento de la información. Las clases proveen el beneficio de la reutilización. Los programadores de software utilizan la misma clase, y por lo tanto el mismo código, una y otra vez para crear muchos objetos.
En las implantaciones orientadas a objetos se percibe un objeto como un paquete de datos y procedimientos que se pueden llevar a cabo con estos datos. Esto encapsula los datos y los procedimientos. La realidad es diferente: los atributos se relacionan al objeto o instancia y los métodos a la clase. ¿Por qué se hace así? Los atributos son variables comunes en cada objeto de una clase y cada uno de ellos puede tener un valor asociado, para cada variable, diferente al que tienen para esa misma variable los demás objetos. Los métodos, por su parte, pertenecen a la clase y no se almacenan en cada objeto, puesto que sería un desperdicio almacenar el mismo procedimiento varias veces y ello va contra el principio de reutilización de código.
martes, 30 de junio de 2015
lunes, 29 de junio de 2015
$.ajax
-La funcion $.ajax es la más completa de todas, pero como desventaja es compleja su emplearla.
-La sintaxis de la función $.ajax es:
ajax([objeto literal])
.Retorna un objeto XMLHttpRequest que podemos eventualmente utilizarlo.
$.ajax({
async : true,
type : "POST",
dataType : "html",
contentType : "application/x-www-form-urlencoded",
url : "pagina1.php",
data : "numero="+v,
beforeSend : inicioEnvio,
success : llegadaDatos,
timeout : 4000,
error : problemas
});
-async : Indica si la comunicación será asincrónica (true) o sincrónica (false)
-type : Indica el método que se envían los datos (pudiendo ser GET o POST)
-dataType : Indica el tipo de datos que se va a recuperar (pudiendo ser "html","xml","json","script")
-contentType : Indicamos como se empaquetan los datos para enviarlos al servidor (normalmente -"application/x-www-form-urlencoded")
-url : Indicamos el nombre de la página que procesará la petición de datos.
-data : Indicamos los datos a enviar al servidor.
-beforeSend : Indicamos el nombre de la función que se ejecutará previo al envío de datos.
-success : Indicamos la función que se ejecuta cuando finalizó el envío de datos del servidor y además ocurrió todo en forma correcta.
-timeout : El tiempo máximo a esperar por la petición de datos.
-error : El nombre de la función que se ejecuta si los datos no llegan del servidor.
-La sintaxis de la función $.ajax es:
ajax([objeto literal])
.Retorna un objeto XMLHttpRequest que podemos eventualmente utilizarlo.
$.ajax({
async : true,
type : "POST",
dataType : "html",
contentType : "application/x-www-form-urlencoded",
url : "pagina1.php",
data : "numero="+v,
beforeSend : inicioEnvio,
success : llegadaDatos,
timeout : 4000,
error : problemas
});
-async : Indica si la comunicación será asincrónica (true) o sincrónica (false)
-type : Indica el método que se envían los datos (pudiendo ser GET o POST)
-dataType : Indica el tipo de datos que se va a recuperar (pudiendo ser "html","xml","json","script")
-contentType : Indicamos como se empaquetan los datos para enviarlos al servidor (normalmente -"application/x-www-form-urlencoded")
-url : Indicamos el nombre de la página que procesará la petición de datos.
-data : Indicamos los datos a enviar al servidor.
-beforeSend : Indicamos el nombre de la función que se ejecutará previo al envío de datos.
-success : Indicamos la función que se ejecuta cuando finalizó el envío de datos del servidor y además ocurrió todo en forma correcta.
-timeout : El tiempo máximo a esperar por la petición de datos.
-error : El nombre de la función que se ejecuta si los datos no llegan del servidor.
domingo, 28 de junio de 2015
JSON
-JSON es el acrónimo de JavaScript Object Notation.
-JSON es un formato alternativo de envío y recepción de datos, es decir remplaza a XML o el envío de texto plano.
-Este formato de datos es más liviano que XML.
-Hace el código más sencillo ya que utiliza el código JavaScript como modelo de datos.
-Así es como se definen los array literales y objetos literales en JavaScript, ya que serán las estructuras para la transmisión de datos:
var usuario = ['juan', 26];
.Los elementos de un array literal se encierran entre corchetes y los valores contenidos van separados por coma.
.Cuando definimos un array literal no le indicamos a cada elemento de que tipo se trata, podemos almacenar cadenas (entre comillas), números, valores lógicos (true,false) y el valor null.
.Para acceder a los elementos de un array literal lo hacemos por su nombre y entre corchetes indicamos que elementos queremos acceder:
alert(usuario[0]); //Imprimimos el primer elemento del array
alert(usuario[1]); //Imprimimos el segundo elemento del array
-Así definimos los objetos literales en JavaScript:
var persona = {
'nombre' : 'juan',
'clave' : 'xyz',
'edad' : 26
};
.Los objetos literales se definen por medio de pares "nombre":"valor"
.Todo objeto literal tiene un nombre, en el ejemplo le llamé persona. Un objeto literal contiene una serie de propiedades con sus respectivos valores. Todas las propiedades del objetos se encuentran encerradas entre llaves. Luego cada propiedad y valor se las separa por dos puntos. Y por último cada propiedad se las separa de las otras propiedades por medio de la coma.
.Para acceder a las propiedades del objeto literal lo podemos hacer de dos formas:
alert(persona.nombre); //Imprime el valor de la propiedad nombre del objeto persona.
.La segunda forma es indicando la propiedad entre corchetes:
alert(persona['nombre']);
.Luego se pueden combinar objetos literales y array literales:
var persona = {
'nombre' : 'juan',
'edad' : 22,
'estudios' :['primario', 'secundario']
};
.Así creamos estructuras de datos complejas combinando objetos literales y array literales.
.Luego para acceder a los distintos elementos tenemos:
alert(persona.nombre);
alert(persona.estudios[0]);
alert(persona.estudios[1]);
-La sintaxis de JSON difiere levemente de lo visto anteriormente:
{
'nombre':'juan',
'edad':22,
'estudios':['primario','secundario']
}
.Como podemos ver en la sintaxis JSON no aparecen variables, sino directamente indicamos entre llaves las propiedades y sus valores.
-Ahora veamos la diferencia entre JSON y XML utilizando este ejemplo:
XML:
<persona>
<nombre>juan</nombre>
<edad>22</edad>
<estudios>
<estudio>primario</estudio>
<estudio>secundario</estudio>
</estudios>
</persona>
JSON:
{
'nombre':'juan',
'edad':22,
'estudios':['primario','secundario']
}
-Podemos ver que es mucho más directa la definición de esta estructura (de todos modos cuando la estructura a representar es muy compleja XML sigue siendo la opción principal)
-Como podemos ver si tenemos que transmitir estas estructuras por internet la notación JSON es más liviana.
-Otra ventaja es como recuperamos los datos en el navegador, como vimos si se trata de un archivo XML llamamos al método requestXML y luego accedemos por medio del DOM
-En cambio con JSON al llegar el archivo procedemos a generar una variable en JavaScript que recree el objeto literal, esto mediante la función eval:
var persona = eval('(' + conexion1.responseText + ')');
/* EJM JS PURO:
function presionBoton(e)
{
var cadena="{ 'microprocesador':'pentium'," +
" 'memoria':1024," +
" 'discos':[80,250]" +
" }";
var maquina=eval('(' + cadena + ')');
alert('microprocesador:'+maquina.microprocesador);
alert('Memoria ram:'+maquina.memoria);
alert('Capacidad disco 1:'+maquina.discos[0]);
alert('Capacidad disco 2:'+maquina.discos[1]);
}
*/
-JSON es un formato alternativo de envío y recepción de datos, es decir remplaza a XML o el envío de texto plano.
-Este formato de datos es más liviano que XML.
-Hace el código más sencillo ya que utiliza el código JavaScript como modelo de datos.
-Así es como se definen los array literales y objetos literales en JavaScript, ya que serán las estructuras para la transmisión de datos:
var usuario = ['juan', 26];
.Los elementos de un array literal se encierran entre corchetes y los valores contenidos van separados por coma.
.Cuando definimos un array literal no le indicamos a cada elemento de que tipo se trata, podemos almacenar cadenas (entre comillas), números, valores lógicos (true,false) y el valor null.
.Para acceder a los elementos de un array literal lo hacemos por su nombre y entre corchetes indicamos que elementos queremos acceder:
alert(usuario[0]); //Imprimimos el primer elemento del array
alert(usuario[1]); //Imprimimos el segundo elemento del array
-Así definimos los objetos literales en JavaScript:
var persona = {
'nombre' : 'juan',
'clave' : 'xyz',
'edad' : 26
};
.Los objetos literales se definen por medio de pares "nombre":"valor"
.Todo objeto literal tiene un nombre, en el ejemplo le llamé persona. Un objeto literal contiene una serie de propiedades con sus respectivos valores. Todas las propiedades del objetos se encuentran encerradas entre llaves. Luego cada propiedad y valor se las separa por dos puntos. Y por último cada propiedad se las separa de las otras propiedades por medio de la coma.
.Para acceder a las propiedades del objeto literal lo podemos hacer de dos formas:
alert(persona.nombre); //Imprime el valor de la propiedad nombre del objeto persona.
.La segunda forma es indicando la propiedad entre corchetes:
alert(persona['nombre']);
.Luego se pueden combinar objetos literales y array literales:
var persona = {
'nombre' : 'juan',
'edad' : 22,
'estudios' :['primario', 'secundario']
};
.Así creamos estructuras de datos complejas combinando objetos literales y array literales.
.Luego para acceder a los distintos elementos tenemos:
alert(persona.nombre);
alert(persona.estudios[0]);
alert(persona.estudios[1]);
-La sintaxis de JSON difiere levemente de lo visto anteriormente:
{
'nombre':'juan',
'edad':22,
'estudios':['primario','secundario']
}
.Como podemos ver en la sintaxis JSON no aparecen variables, sino directamente indicamos entre llaves las propiedades y sus valores.
-Ahora veamos la diferencia entre JSON y XML utilizando este ejemplo:
XML:
<persona>
<nombre>juan</nombre>
<edad>22</edad>
<estudios>
<estudio>primario</estudio>
<estudio>secundario</estudio>
</estudios>
</persona>
JSON:
{
'nombre':'juan',
'edad':22,
'estudios':['primario','secundario']
}
-Podemos ver que es mucho más directa la definición de esta estructura (de todos modos cuando la estructura a representar es muy compleja XML sigue siendo la opción principal)
-Como podemos ver si tenemos que transmitir estas estructuras por internet la notación JSON es más liviana.
-Otra ventaja es como recuperamos los datos en el navegador, como vimos si se trata de un archivo XML llamamos al método requestXML y luego accedemos por medio del DOM
-En cambio con JSON al llegar el archivo procedemos a generar una variable en JavaScript que recree el objeto literal, esto mediante la función eval:
var persona = eval('(' + conexion1.responseText + ')');
/* EJM JS PURO:
function presionBoton(e)
{
var cadena="{ 'microprocesador':'pentium'," +
" 'memoria':1024," +
" 'discos':[80,250]" +
" }";
var maquina=eval('(' + cadena + ')');
alert('microprocesador:'+maquina.microprocesador);
alert('Memoria ram:'+maquina.memoria);
alert('Capacidad disco 1:'+maquina.discos[0]);
alert('Capacidad disco 2:'+maquina.discos[1]);
}
*/
Suscribirse a:
Comentarios (Atom)