Vista previa del material en texto
PROFE VIDERMID Programación en Java Script (POO) Facilitador: Ing. Esp. Vidermid Sánchez +584147464801 @vidermid @ingenieriadigitalsc +584147106623 PROFE VIDERMIDCrear la Clase Empleados id ----> entero cedula ----> cadena nombres ----> cadena apellidos ----> cadena cargo ----> caracter consultar() Clase class Empleados{ } const empleado1=new Empleados console.log(empleado1); Creación de la clase Empleados Instanciar la clase Empleados (crear un nuevo objeto a partir de una clase) Nota: JS es un lenguaje orientado a objeto basado en prototipos, para proporcionar mecanismos de herencia, los objetos pueden tener un objeto prototipo , el cual actúa como una plantilla objeto que hereda métodos y propiedades. PROFE VIDERMID Abstracción (Métodos, Propiedades e Instancias) Película consultar() Clase class Empleados{ //propiedades o atributos constructor(id,cedula,nombres,apellidos,cargo){ console.log('Mensaje desde el constructor'); this.id = id this.cedula = cedula this.nombres =nombres this.apellidos= apellidos this.cargo = cargo } } //instanciando la clase const empleado1=new Empleados(1,'32567122','Jose','Rios', 'Chofer'); console.log(empleado1); //instanciando la clase const empleado2=new Empleados(2,'23444901','Karla','Romero', 'Asistente'); console.log(empleado2); Clase Propiedad Método id ----> entero cedula ----> cadena nombres ----> cadena apellidos ----> cadena cargo ----> cadena PROFE VIDERMID class Empleados{ //propiedades o atributos constructor(id,cedula,nombres,apellidos,cargo){ console.log('Mensaje desde el constructor'); this.id = id this.cedula = cedula this.nombres =nombres this.apellidos= apellidos this.cargo = cargo } consultar(){ console.log('Mensaje desde el metodo consultar'); } } const empleado1=new Empleados(1,'32567122','Jose','Rios', 'Chofer'); console.log(empleado1.apellidos); console.log(empleado1['cedula']); console.log(empleado1.consultar()); Método Instancia al método Instancia al propiedades Abstracción (Métodos, Propiedades e Instancias) PROFE VIDERMID class Empleados { constructor(id,cedula,nombres,apellidos,cargo){ console.log('Mensaje desde el constructor'); this.id = id this.cedula = cedula this.nombres =nombres this.apellidos= apellidos this.cargo = cargo } consultar(){ let salida=`ID: ${this.id}, Cedula: ${this.cedula}, Nombres: ${this.nombres}, Apellidos: ${this.apellidos}, Cargo: ${this.cargo}`; console.log(salida); } } const empleado1=new Empleados(1,'32567122','Jose','Rios', 'Chofer'); console.log(empleado1.consultar()); const empleado2=new Empleados(2,'23444901','Karla','Romero', 'Asistente'); console.log(empleado2.consultar()); Abstracción (Métodos, Propiedades e Instancias) PROFE VIDERMIDEncapsulamiento class Empleados{ //creando propiedades private #id #cedula #nombres #apellidos #cargo constructor(id,cedula,nombres,apellidos,cargo){ this.#id = id this.#cedula = cedula this.#nombres =nombres this.#apellidos= apellidos this.#cargo = cargo } consultar(){ let salida=`ID: ${this.id}, Cedula: ${this.cedula}, Nombres: ${this.nombres}, Apellidos: ${this.apellidos}, Cargo: ${this.cargo}`; console.log(salida); } //Getter -> Leer -- get id(){return this.#id;} get cedula(){return this.#cedula;} get cargo(){return this.#cargo;} // Setter -> Escribir set nombres(nuevo_nombres){this.#nombres=nuevo_nombres} set cargo(nuevo_cargo){this.#cargo=nuevo_cargo} } const empleado1=new Empleados(1,'32567122','Jose','Rios', 'Chofer'); console.log('Original: '); console.log(empleado1.consultar()); empleado1.id='4'; empleado1.cedula='12927002'; empleado1.cargo='Gerente'; empleado1.nombres='Pedro'; console.log('Modificada:'); empleado1.consultar(); Propiedades privadas, limitamos su acceso desde fuera de la clase PROFE VIDERMIDHerencia class Pasantes extends Empleados{ constructor(id,cedula,nombres,apellidos,cargo){ super(id,cedula,nombres,apellidos,cargo); } } pasante1= new Pasantes(id='1',cedula='30908591',nombres= 'Raul',apellidos='SIlva',cargo='Informatica'); console.log(pasante1); PROFE VIDERMIDHerencia class Pasantes extends Empleados{ #semanas #nota constructor(id,cedula,nombres,apellidos,cargo,semanas,nota){ super(id,cedula,nombres,apellidos,cargo); this.#semanas=semanas this.#nota=nota } } pasante1= new Pasantes(id='1',cedula='30908591',nombres='Raul',apellidos='SIlva',cargo='Informatica’,semanas=12,nota=19); console.log(pasante1); PROFE VIDERMIDPolimorfismo class Pasantes extends Empleados{ #semanas #nota constructor(id,cedula,nombres,apellidos,cargo,semanas,nota){ super(id,cedula,nombres,apellidos,cargo); this.#semanas=semanas this.#nota=nota } consultar(){ let informacion=`Semanas: ${this.#semanas.toString()}, Nota: ${this.#nota.toString()}`; super.consultar(); console.log(informacion); } } pasante1= new Pasantes(id='1',cedula='30908591',nombres='Raul',apellidos='SIlva',cargo='Informatica',semanas=12,nota=19); pasante1 .consultar(); Diapositiva 1 Diapositiva 2 Diapositiva 3 Diapositiva 4 Diapositiva 5 Diapositiva 6 Diapositiva 7 Diapositiva 8 Diapositiva 9