Tema 3.2. Objetos de Datos
Tema 3.2. Objetos de Datos
Tema 3.2. Objetos de Datos
Objetos de Datos
• Definición de Objetos
• Operaciones sobre objetos
• JSON
• Recorrer Objetos
Tema 3.2.
Objetos de Datos
Cuando se necesita acceder desde un método de un objeto a las propiedades del mismo
se puede usar el objeto this, en lugar del propio objeto
Ejemplo anterior:
mostrar:function(){
console.log(`${this.origen} a ${this.destino}`);
console.log(this.precio);
}
};
Tema 3.2.
Objetos de Datos
Definición de Objetos
¿Qué aporta this? Seguridad.
Ejemplo: si se hubiera asignado viaje a otro objeto, ejemplo oferta, daría un error al
acceder a las propiedades del objeto this;
let viaje={
origen:"Granada",
destino:"Londres",
dias:80,
precio:500,
mostrar:function(){
console.log(`${viaje.origen} a ${viaje.destino}`);
console.log(viaje.precio);
}
};
let oferta=viaje;
viaje=null;
oferta.mostrar();
Tema 3.2.
Objetos de Datos
Definición de Objetos
Si en lugar de esos, se usase this:
let viaje={
origen:"Granada",
destino:"Londres",
dias:80,
precio:500,
mostrar:function(){
console.log(`${this.origen} a ${this.destino}`);
console.log(this.precio);
}
};
let oferta=viaje;
viaje=null;
oferta.mostrar();
Tema 3.2.
Objetos de Datos
Operaciones sobre Objetos
Constructores
Es un método especial que permite crear e inicializar de forma personalizada un objeto a
partir de una clase .
Sólo puede haber un constructor por clase. Se ejecuta inicializando las propiedades del
objeto cuando se utiliza el operador new.
class viaje {
origen="Granada";
destino="Londres";
dias=80;
precio=500;
constructor(or,des,di,pre){
this.origen=or;
this.destino=des;
this.dias=di;
this.precio=pre;
}
mostrar(){
console.log(`${this.origen} a ${this.destino}`);
console.log(this.precio);
}
};
let miViaje=new viaje("Barcelona","Ibiza",2,112);
miViaje.mostrar();
Tema 3.2.
Objetos de Datos
Operaciones sobre Objetos
Constructores (CONTINUACIÓN)
Si una clase hereda de otra, se puede ejecutar el constructor de la clase madre usando
super() class Miembro {
nombre="nombre apellido1 apellido2";
edad=30;
estado="activo";
constructor(n,ed,es){
this.nombre=n;
this.edad=ed;
this.estado=es;
}
cobrar(){
console.log(`El miembro ${this.nombre} ha cobrado`);
}
};
class Profesor extends Miembro{
nAlumnos=0;
constructor(n,ed,es,Nalu){
super(n,ed,es);
this.nAlumnos=Nalu;
}
cobrar(){
console.log(`El profesor ${this.nombre} ha cobrado`);
}
}
Tema 3.2.
Objetos de Datos
Operaciones sobre Objetos
OJO!! Cuando itere, también lo hará con las propiedades que herede.
let unProfesor=new Profesor("Juan",20,"activo“,25);
for (elemento in unProfesor){
console.log(elemento);
}
Tema 3.2.
Objetos de Datos
JSON
let miviaje={
origen:"Granada",
destino:"Londres",
dias:80,
precio:500,
};
console.log(miviaje);
console.log(typeof(miviaje));
console.log(JSON.stringify(miviaje));
console.log(typeof(JSON.stringify(miviaje)));
};
};
let viaje1=new Viaje("Albacete","Murcia",3,100);
console.log(viaje1);
Tema 3.2.
Objetos de Datos
Recorrer Objetos
var equipo = [
{nombre: "David Gómez", numero: "5"},
{nombre: "Sergio Callejas", numero: "4"},
{nombre: "Javier Rodríguez", numero: "3"},
{nombre: "Laura Fernández", numero: "2"},
{nombre: "Manuel Fernández", numero: "1"}
]
NO: En ES6 existe una nueva forma, utlizada en arrays, de recorrer con for…of, que
en lugar de por índice, recorre directamente los objetos que contiene
Tema 3.2.
Objetos de Datos
Recorrer Objetos
Objetos anidados
Se pueden definir objetos, con propiedades de tipo objeto y métodos.
var factura = { Se puede acceder a las
empresa: {
nombre:"CAPALSA",
propiedades de los objetos:
direccion: "Poligono Campollano, C",
}, factura.cliente.nombre
cliente: {
nombre: "IES Leonardo da Vinci",
direccion: "C/ La Paz s/n",
},
elementos: [
{ descripcion: "Folios", cantidad: 100, precio: 5},
{ descripcion: "Toner", cantidad: 20, precio: 30},
],
calculaTotal(){
…….
}
}
Tema 3.2.
Objetos de Datos
ACTIVIDADES
2. Crea una clase para modelar un objeto “teléfono móvil” que tenga al
menos estas propiedades: CPU, RAM, Almacenamiento, Ancho, Alto y
NumCámaras. Añade también un método llamado toString() que
muestre por pantalla la información del objeto creado. Crea 4 objetos
con diferentes números de parámetros en la creación y muestra en
pantalla la información de cada objeto.
Tema 3.2.
Objetos de Datos
ACTIVIDAD