javascript orientado a objetos - fisl12

Post on 31-May-2015

5.133 Views

Category:

Technology

5 Downloads

Preview:

Click to see full reader

DESCRIPTION

Apresentação sobre Orientação a Objetos com Javascript feita no FISL 12. O Objetivo foi mostrar que Javascript é tão orientado a objetos quanto as linguagens baseadas em classes.

TRANSCRIPT

Object Oriented

JavascriptEmerson Macedo

@emerleitehttp://nodecasts.org

http://codificando.com

#whoami

#javascript

Todo programador que trabalha com web

deve aprender Javascript

Todo programador que trabalha com web

deve aprender Javascript

#corretamente

#caracteristicas

Javascript é Orientado a Objetos

“Eu inventei o termo Orientação a Objetos e posso dizer que eu não

tinha C++ em mente”

Alan Kay

DefinindoOrientação a Objetos

publicprotected

private

ClasseHerança

SobrescritaSobrecarga

publicprotected

private

ClasseHerança

SobrescritaSobrecarga

Modelar omundo real

Modelar omundo real

Orientação a Objetosserve para lidar com

complexidade

#propriedades

#comofaz

Usando classes - Ex: Java

Usando classes - Ex: Java

Classe é uma definição de estrutura

com estado e comportamento

Javascript Functions

• São a principal abstração da linguagem

• Podem retornar ou não alguma coisa

• Javascript não tem classes

• JS é mais O.O do que muitos pensam

Javascript Functions - Sintaxe

Contruindo Objetos

• Podem ser construidos com new

• Podem ser construidos usando { }

• Podem ser construidos com funções

Contruindo Objetos - new

Contruindo Objetos - { }

Contruindo Objetos - funções

#prototype

Contruindo Objetos - herança

#closures

Closure é uma definição de um comportamento

com estado

Closures

Closures - private

Closures - Mixins

Closures - Mixins

Usando classes - Ex: Java

Usando closures - Ex: Javascript

Mixins fazem composição de comportamento melhor que herança

#conclusão

Javascript nunca foi uma linguagem de

brinquedo

Classe é apenas uma forma de construir

objetos

Closures são mais poderosos que classes

Javascript é “mais” Orientado a Objetosdo que você imagina

Obrigado !!!

Emerson Macedo@emerleite

http://nodecasts.orghttp://codificando.com

Referênciashttp://en.wikipedia.org/wiki/JavaScript

http://en.wikipedia.org/wiki/Smalltalk

http://en.wikipedia.org/wiki/Object-oriented_programming

http://en.wikipedia.org/wiki/Delegation_(programming)http://en.wikipedia.org/wiki/Prototype-based_programming

http://okmij.org/ftp/Scheme/oop-in-fp.txt

http://fragmental.tw/2008/09/23/object-oriented-design-which-how-and-what/

http://people.csail.mit.edu/gregs/ll1-discuss-archive-html/msg03277.html

http://en.wikipedia.org/wiki/Closure_(computer_science)

[Page-Jones, 2000] - http://goo.gl/W9y4l

top related