A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Artur Lira Diego Lemos Lucas Figueiredo Thiago Rocha

Apresentações semelhantes


Apresentação em tema: "Artur Lira Diego Lemos Lucas Figueiredo Thiago Rocha"— Transcrição da apresentação:

1 Artur Lira Diego Lemos Lucas Figueiredo Thiago Rocha
Smalltalk Artur Lira Diego Lemos Lucas Figueiredo Thiago Rocha

2 Introdução Surgiu em meados da década de 70
Visava atingir grande número de pessoas de faixas etárias distintas Orientada a objetos Fracamente tipada Simples implementação Não há tipos primitivos

3 História Começou a ser desenvolvida no final dos anos 60 por um grupo de pesquisa da Xerox Várias evoluções: - Smalltalk-71 ( parecido com o Logo) - Smalltalk-72 (adicionadas funcionalidades multimídia) - Smalltalk-76 (versão mais robusta) - Smalltalk-80 (estável) - Squeak(pra crianças); Strongtalk(Sun); GNU Smalltalk(Script);

4 História Smalltalk-80 Voltado para o mercado ( HP,IBM, Apple)
Programas rodam sobre uma Máquina Virtual Tornou-se padrão para as diversas versões do Smalltalk

5 Paradigma de Programação
Paradigma Orientado a Objetos Classes definem os objetos Comportamento (definido nos métodos) Estados Possíveis(atributos) Instâncias (objetos) Envio de mensagens a objetos Objetos responderão a mensagens conhecidas por ele Fim de programa  todas as mensagens enviadas foram respondidas

6 Utilização Simulação de modelos de sistemas Automação de escritórios
Animação Gráfica Informática Educativa Instrumentos Musicais Virtuais Editores de Texto Bancos de Dados Genéricos

7 Sintaxe Literais Variáveis Atribuições Mensagens Expressões

8 Sintaxe: Literais 42 -42 123.45 1.2345e2 2r10010010 16rA000
36rSMALLTALK =

9 Sintaxe: Literais Caracteres: $A Strings: ‘Hello, world!’
Symbols: #foo Array de Symbols: #( ) Blocos: [... Escopo ...]

10 Sintaxe: Variáveis Variáveis temporárias: No topo dos métodos
Escritas entre barras verticais Uma ou mais variáveis por espaço. | indice | | indice vogais |

11 Sintaxe: Atribuições Operador := vogais := 'aeiou‘
A string ‘aeiou’ é criada na etapa de compilação e armazenada na variável vogais.

12 Sintaxe: Mensagens Receiver Selector Arguments receptor := 42 fatorial
2 raisedTo: 4 'hello world' indexOf: $o startingAt: 6 3 + 4

13 Sintaxe: Expresões 3 fatorial + 4 fatorial between: 10 and: 100
3 recebe a mensagem "fatorial" e retorna 6 4 recebe a mensagem "fatorial" e retorna 24 6 recebe a mensagem "+" e 24 como argumento e por fim retorna 30 30 recebe a mensagem "between:and:" com 10 e 100 como argumentos e retorna true. 3 fatorial fatorial log 3 + 4 * 5 = (3 + 4) * 5 ...?

14 Sintaxe: Expresões | window | window := Window new.
window label: 'Hello'. window open.

15 Estruturas de Controle
Seleção condicional C++: if((numero % 2) == 0) paridade = 1; else paridade = 0; paridade = ((numero % 2) == 0))?1:0; Smalltalk: (numero \\ 2) = 0 ifTrue: [ paridade :=1 ] ifFalse: [ paridade := 0 ] paridade := numero \\ 2 = 0 ifTrue: [1] ifFalse: [0]

16 Estruturas de Controle
Repetição C++: for(int i = 0; i < 3; i++) n *= n; Smalltalk: 3 timesRepeat: [n := n * n]

17 Estruturas de Controle
Repetição C++: int i = 0; while(i < tamanhoArray){ array[i++] = 0; } Smalltalk: i := 1. [i <= array size] whileTrue: [ array at: i put: 0. i := i + 1 ]

18 Métodos Definição de método publico publish
Transcript show: 'Hello, World!' Objeto recebe mensagem  método com nome da mensagem é invocado Objetos determinam em tempo de execução qual método a ser executado

19 Implementação Modificações em tempo de execução(interpretada)
Utilização de classes já existentes, na própria linguagem(reuso) Tudo é modificável

20 Vantagens Puramente orientada a objetos
Polimorfismo e binding dinâmico Flexibilidade Reutilização Dados abstratos e encapsulamento Modificabilidade Confiabilidade Herança Facilmente extensível

21 Desvantagens Não possui ordem de precedência para operações binárias
Devido a “fraca tipagem” pode ocorrer erros em tempo de execução, já que existe o risco de um objeto não entender uma mensagem

22 Referências [1] SHARP, A. Smalltalk by Example: the Developer’s Guide. McGraw Hill Text, Disponível em: . Acesso em: 26 mai 2007. [2] Smalltalk: site oficial. Disponível em: Acesso em: 26 mai 2007. [3] Wikipedia Smalltalk. Disponível em: Acesso em: 23 mai 2007. [4] Vista Smalltalk. Disponivel em: Acesso em: 26 mai 2007.

23 Dúvidas?


Carregar ppt "Artur Lira Diego Lemos Lucas Figueiredo Thiago Rocha"

Apresentações semelhantes


Anúncios Google