javascript orientado a objetos - fisl12
Post on 31-May-2015
5.143 Views
Preview:
DESCRIPTION
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