JavaScript: orientación a objetos · de programación orientada a objetos en el cual, las...

20
JAVASCRIPT Introducción al desarrollo web http://idesweb.es/ JavaScript: orientación a objetos básica Sergio Luján Mora Departamento de Lenguajes y Sistemas Informáticos Universidad de Alicante (España) IDW-JS-OBJ-01

Transcript of JavaScript: orientación a objetos · de programación orientada a objetos en el cual, las...

Page 1: JavaScript: orientación a objetos · de programación orientada a objetos en el cual, las “clases” no están presentes, y la reutilización de procesos (conocida como herencia

JAV

ASC

RIP

T Introducción al desarrollo web http://idesweb.es/

JavaScript: orientación a objetos básica

Sergio Luján Mora

Departamento de Lenguajes y Sistemas Informáticos

Universidad de Alicante (España)

IDW-JS-OBJ-01

Page 2: JavaScript: orientación a objetos · de programación orientada a objetos en el cual, las “clases” no están presentes, y la reutilización de procesos (conocida como herencia

JAV

ASC

RIP

T Introducción al desarrollo web http://idesweb.es/

Contacto • http://gplsi.dlsi.ua.es/~slujan/

• http://accesibilidadenlaweb.blogspot.com.es/

• http://accesibilidadweb.dlsi.ua.es/

• http://desarrolloweb.dlsi.ua.es/

• http://www.youtube.com/user/sergiolujanmora

[email protected]

• @sergiolujanmora

Page 3: JavaScript: orientación a objetos · de programación orientada a objetos en el cual, las “clases” no están presentes, y la reutilización de procesos (conocida como herencia

JAV

ASC

RIP

T Introducción al desarrollo web http://idesweb.es/

¿JavaScript es orientado a objetos?

Page 4: JavaScript: orientación a objetos · de programación orientada a objetos en el cual, las “clases” no están presentes, y la reutilización de procesos (conocida como herencia

JAV

ASC

RIP

T Introducción al desarrollo web http://idesweb.es/

JavaScript ≠ orientado a objetos

JavaScript = basado en objetos

Page 5: JavaScript: orientación a objetos · de programación orientada a objetos en el cual, las “clases” no están presentes, y la reutilización de procesos (conocida como herencia

JAV

ASC

RIP

T Introducción al desarrollo web http://idesweb.es/

Clase

Page 6: JavaScript: orientación a objetos · de programación orientada a objetos en el cual, las “clases” no están presentes, y la reutilización de procesos (conocida como herencia

JAV

ASC

RIP

T Introducción al desarrollo web http://idesweb.es/

Page 7: JavaScript: orientación a objetos · de programación orientada a objetos en el cual, las “clases” no están presentes, y la reutilización de procesos (conocida como herencia

JAV

ASC

RIP

T Introducción al desarrollo web http://idesweb.es/

Page 8: JavaScript: orientación a objetos · de programación orientada a objetos en el cual, las “clases” no están presentes, y la reutilización de procesos (conocida como herencia

JAV

ASC

RIP

T Introducción al desarrollo web http://idesweb.es/

Page 9: JavaScript: orientación a objetos · de programación orientada a objetos en el cual, las “clases” no están presentes, y la reutilización de procesos (conocida como herencia

JAV

ASC

RIP

T Introducción al desarrollo web http://idesweb.es/

La programación basada en prototipos es un estilo de programación orientada a objetos en el cual, las “clases” no están presentes, y la reutilización de procesos (conocida como herencia en lenguajes basados en clases) se obtiene a través de la clonación de objetos ya existentes, que sirven de prototipos, extendiendo sus funcionalidades. Este modelo es conocido como orientado a prototipos, o programación basada en instancias.

Page 10: JavaScript: orientación a objetos · de programación orientada a objetos en el cual, las “clases” no están presentes, y la reutilización de procesos (conocida como herencia

JAV

ASC

RIP

T Introducción al desarrollo web http://idesweb.es/

Ada Eiffel

Smalltalk

Java

C++

JavaScript

100% orientado a objetos

≈ orientado a objetos

Page 11: JavaScript: orientación a objetos · de programación orientada a objetos en el cual, las “clases” no están presentes, y la reutilización de procesos (conocida como herencia

JAV

ASC

RIP

T Introducción al desarrollo web http://idesweb.es/

Abstracción Encapsulamiento

Herencia Modularidad

Principio de ocultación Polimorfismo

Recolección de basura

Page 12: JavaScript: orientación a objetos · de programación orientada a objetos en el cual, las “clases” no están presentes, y la reutilización de procesos (conocida como herencia

JAV

ASC

RIP

T Introducción al desarrollo web http://idesweb.es/

Herencia ≈ Prototipo

Page 13: JavaScript: orientación a objetos · de programación orientada a objetos en el cual, las “clases” no están presentes, y la reutilización de procesos (conocida como herencia

JAV

ASC

RIP

T Introducción al desarrollo web http://idesweb.es/

Propiedades Métodos

OBJETO

Page 14: JavaScript: orientación a objetos · de programación orientada a objetos en el cual, las “clases” no están presentes, y la reutilización de procesos (conocida como herencia

JAV

ASC

RIP

T Introducción al desarrollo web http://idesweb.es/

Propiedades ESTADO

Page 15: JavaScript: orientación a objetos · de programación orientada a objetos en el cual, las “clases” no están presentes, y la reutilización de procesos (conocida como herencia

JAV

ASC

RIP

T Introducción al desarrollo web http://idesweb.es/

COMPORTAMIENTO Métodos

Page 16: JavaScript: orientación a objetos · de programación orientada a objetos en el cual, las “clases” no están presentes, y la reutilización de procesos (conocida como herencia

JAV

ASC

RIP

T Introducción al desarrollo web http://idesweb.es/

Todo en JavaScript es un objeto

Casi

Page 17: JavaScript: orientación a objetos · de programación orientada a objetos en el cual, las “clases” no están presentes, y la reutilización de procesos (conocida como herencia

JAV

ASC

RIP

T Introducción al desarrollo web http://idesweb.es/

var a = "Esto es una cadena";

alert(a.length);

alert(a.toUpperCase());

alert(a.toLowerCase());

Esto es un objeto de tipo String

Page 18: JavaScript: orientación a objetos · de programación orientada a objetos en el cual, las “clases” no están presentes, y la reutilización de procesos (conocida como herencia

JAV

ASC

RIP

T Introducción al desarrollo web http://idesweb.es/

a.length

a.toUpperCase()

a["length"]

PROPIEDAD

MÉTODO

Page 19: JavaScript: orientación a objetos · de programación orientada a objetos en el cual, las “clases” no están presentes, y la reutilización de procesos (conocida como herencia

JAV

ASC

RIP

T Introducción al desarrollo web http://idesweb.es/

Array Date Math

Number String

RegExp

Page 20: JavaScript: orientación a objetos · de programación orientada a objetos en el cual, las “clases” no están presentes, y la reutilización de procesos (conocida como herencia

JAV

ASC

RIP

T Introducción al desarrollo web http://idesweb.es/

http://idesweb.es/

[email protected] @idesweb