Curso Angularn Tema 01b 15/01/2019 Curso JavaScript.

Slides:



Advertisements
Presentaciones similares
Introducción a C++ Sistemas Operativos
Advertisements

Características Generales y Entornos de Desarrollo
Curso de Java Capitulo 7: Conceptos sobre poo Profesor:
Lenguaje de programación Java
Herencia y Polimorfismo
PROGRAMACIÓN EN JAVA Curso-taller inicial de programación en JAVA Facultad de Estadística e Informática TEMA II.
Herencia e Interfaces.
TALLER DE PROGRAMACIÓN III
Herencia y Polimorfismo en JAVA
Lic. Rosemary Torrico Bascopé
Programación Orientada a Objetos usando CONSTRUCTORES DESTRUCTORES.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6
Programación avanzada en Java Miguel Ángel Corella 23 de Septiembre de 2005.
Metodología de Programación Ayudantía 4 lelagos.ublog.cl 2008.
PATRÓN ADAPTER (Adaptador) Elena Moreno Ramírez Laura Sánchez Romero Aroa Solana Ruiz.
Detalles Generales sobre Java
Invocación Dinámica en CORBA
Estructuras de control selectivas Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión Práctica 3.
Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Práctica 4 Versión Diseño de tipos Igualdad, representación, código,
Concepto de Tipo y Subtipo Diseño e Implementación Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 10 Versión.
Lenguaje de programación: Lua Fundamentos de lenguaje de programación. Iván Cardemil Patricio Tudela Camilo Rojas Llosect Moscoso.
PROGRAMACIÓN ORIENTADA A OBJETOS SEGUNDA UNIDAD: “CLASES, OBJETOS Y MÉTODOS” IRVING YAIR SALAS CHÁVEZ ING. EN SISTEMAS COMPUTACIONALES - ITSLP.
Nombre José Francisco Luna Jurado Matricula Asignatura
Herencia Multiple en Java
Clases y Objetos en Java
Unidad Didáctica 11 Reutilización Versión 1.0.0
Diseño y Programación Orientados a Objetos
Diseño y Programación Orientados a Objetos
Programación orientada a objetos
Diseño y Programación Orientada a Objetos
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
Polimorfismo y Funciones Virtuales
Diseño y Programación Orientados a Objetos
Ingeniero en Computación José Alfredo Cobián Campos
Agustín J. González Programación de Sistemas: ELO-330
Fundamentos de la programación orientada a objetos
Colecciones Carlos Fontela, 2008.
Ingeniero en Computación José Alfredo Cobián Campos
Programación orientada a objetos
Clases y Objetos en Java
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
Diseño y Programación Orientada a Objetos
Sonia Rueda Herencia y Polimorfismo
Programación orientada a objetos
Programación orientada a objetos
Clases y Objetos en Java
Polimorfismo y Métodos Virtuales
Tema 3. Lenguaje unificado de modelado UML
Programación Orientada a Objetos I Unidad 4 Relaciones entre clases: herencia.
Herencia en C#.
HERENCIA.
Introducción a Javascript Moderno Dr. Ismael Figueroa
Tema 1 El entorno de desarrollo de C#
Plantillas (Templates)‏
Diseño y Programación Orientados a Objetos
Fundamentos básicos del lenguaje C#. Parte 1 Introducción a C#
Conceptos básicos de.NET Explorar el entorno de desarrollo Crear un proyecto Visual Basic.NET Use Visual Studio.NET Acceso a datos Depurar e implantar.
Universidad Nacional de Colombia - Leguajes de Programación
Características Generales y Entornos de Desarrollo
Programación orientada a objetos en Visual Basic .NET
IPOO 2 cuatrimestre 2018 Departamento de Ciencias e Ingeniería
Programacion Orientada a Objetos
Diseño y Programación Orientados a Objetos
Algunas Características de C++ no presentes en C
Tema 2 Estructura de un programa en C. IWI Tema 2 Programa en C U n programa en C es una serie de instrucciones en un lenguaje muy especifico (similar.
Manejo de Punteros y objetos en memoria dinámica en C++
Templates (en español: Pantillas, modelos, patrones)‏
Clases abstractas e interfaces
Clases y Objetos en Java
Transcripción de la presentación:

Curso Angularn Tema 01b 15/01/2019 Curso JavaScript

Introducción Typescript Instalación y ejecución del compilador Tipos básicos Funciones Clases e interfaces Escritura de código reutilizable con genéricos Angular y Typescript

Introducción a typescript

Tipos dinámicos contra tipos estáticos Introducción a Typescript Beneficios de aprender y utilizar Typescript

Diferencia entre tipos dinámicos y estáticos Tipo determinado en la declaración Puede cambiar a lo largo de todo el programa libre de errores No puede cambiar en tiempo de ejecución sin causar un error

Introducción a Typescript JavaScript fuertemente tipado Compilador Javascript OpenSource Compila a Javascript Desarrolladopor Microsoft Estilo de programación más declarativo Totalmente soportado por Angular 2/4/5

¿Qué ofrece TypeScript Validación de tipos estático Características ES6 Objetos basados en clase Modularidad

Beneficios Editores

Amigos de TypeScript

Instalación y Ejecución del compilador TypeScript

Instalación de TypeScript Compilación de un fichero de ejemplo TypeScript

Descargar e Instalar Node Descarga de node

Actualizar node Ejecutar: npm-windows-upgrade Ejecutar powerShell como administrador: Set-ExecutionPolicy Unrestricted -Scope CurrentUser –Force npm install --global --production npm-windows-upgrade Ejecutar: npm-windows-upgrade npm-windows-upgrade --npm-version latest

Actualizar node

Editor Visual Studio Code

Actualizar npm En una terminal ejecutar npm i –g npm

Instalar typescript npm i -g typescript

Ejemplo 1 Crear el fichero ejemplo-01.ts

Código javascript generado Compilar el fichero Código javascript generado Fichero generado

Tipos básicos

Tipos básicos Variables Vectores y Matrices

Tipos básicos String Boolean Number Enum Any Void Null Undefined

playground Typescript

Vectores y Matrices

Trabajando con funciones

Declaración de funciones y expresiones Tipos de función Parámetros opcionales Parámetros por defecto

Declaración de funciones y expresiones

Parámetros opcionales

Parámetros por defecto en una función

Nº indefinido de parámetros en una función

Clases e Interfaces

Importancia de tener clases Definición de una clase Herencia Definición de una interfaz

Clases Ofrece una abstracción estructural Forma consistente para los desarrolladores Desarrollo orientado a objetos utiliza concepto de clase

Ejemplo de una clase

Herencia

class Persona { public hobby: string; constructor( private nombre: string, private edad: number) { } info(): void { console.log(this.nombre + ' ' + this.edad); } const pedro = new Persona('Pedro', 20); pedro.info(); class Jugador extends Persona { constructor(nombre: string, edad: number) { super(nombre, edad); const alejandro = new Jugador('Alejandro', 35); alejandro.info(); console.log(pedro); console.log(alejandro);

Interfaz Contienen solo la decoración de los miembros Es un contrato Se usa para describir un tipo complejo

interface Persona { nombre: string, edad: number } const juan: Persona = { nombre: 'Juan', edad: 50 interface Vehiculo{ drive(): any; class Automovil implements Vehiculo{ drive(): void { console.log('conduciendo un automóvil'); class Bicicleta implements Vehiculo{ console.log('conduciendo una bicicleta'); const auto = new Automovil(); const bici = new Bicicleta(); auto.drive(); bici.drive();

Genericos

Función genérica Problema de cola Solución al problema de cola

Number.toString(); String.toString(); Boolean.toString(); function primitivetoString<T>(type: T): string { return type.toString(); } [Number, Boolean, String].forEach(function (type) { console.log(primitivetoString(type)); })

class ColaDeNumeros { private datos = []; push(item: number) { this.datos.push(item); } pop() { this.datos.shift(); const cola = new ColaDeNumeros(); cola.push(1); cola.push(2); cola.push(3); console.log(cola);

class Cola<T> { private datos = []; push(item: T) { this.datos.push(item); } pop() { this.datos.shift(); const colaDeNumeros = new Cola<number>(); colaDeNumeros.push(10); colaDeNumeros.push(20); console.log(colaDeNumeros); const colaDeCadenaCaracteres = new Cola<string>(); colaDeCadenaCaracteres.push('Curso'); colaDeCadenaCaracteres.push('TypeScript'); console.log(colaDeCadenaCaracteres);