Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouLarissa Pao Alterado mais de 10 anos atrás
1
1 MAC 413/5715 – Seminário Prof. Fabio Kon Self: The Power of Simplicity David Ungar and Randall B. Smith OOPSLA 1987 Cristina Fang Eduardo Miyoshi Kasa
2
2 MAC 413/5715 – Seminário Prof. Fabio Kon O problema
3
3 MAC 413/5715 – Seminário Prof. Fabio Kon
4
4
5
5 Self: The Power of Simplicit A solução?
6
6 Self: The Power of Simplicit Self
7
7 Self: The Power of Simplicity Linguagem Orientada a Objetos Tudo é objeto (herdado de Smalltalk) Idéias utilizadas no desenho: Protótipos Slots Comportamento
8
8 Self: The Power of Simplicity Protótipos: Objetos base que serão clonados Não utiliza classes Mais simples e flexível do que a maioria das linguagens orientada a objetos
9
9 Self: The Power of Simplicity Slots Protótipos contêm Slots Slots podem conter qualquer coisa (objetos, procedures ou closures) Comportamento Não existe diferença entre comportamento e estado.
10
10 Self: The Power of Simplicity
11
11 Self: The Power of Simplicity Protótipos vs. Classes
12
12 Self: The Power of Simplicity Desvantagens de Linguagens OO baseada em classes: - É necessário criar uma nova classe para criarmos um novo tipo de objeto - Para alterar a estrutura do objeto precisamos alterar a classe.
13
13 Self: The Power of Simplicity Self combina herança, protótipos e objetos para eliminar a necessidade de classes
14
14 Self: The Power of Simplicity Classes –Contém comportamento –Herda de outra classe –Pode ser instanciada Objetos –Contém estado –São instâncias de Classes Protótipos –Contém comportamento –Delega a outros objetos –Pode ser clonado –Contém estados
15
15 Self: The Power of Simplicity
16
16 Self: The Power of Simplicity Simples
17
17 Self: The Power of Simplicity Relações simples "is a" e "kind of" são substituídos por "inherits from" Fica mais fácil de entender a linguagem e criar hierarquia de herança Criação por cópia Criar novos objetos é fácil: basta clonar
18
18 Self: The Power of Simplicity Exemplos de módulos já existentes Protótipos são mais concretos que classes Exemplos (protótipos) são mais fáceis de entender do que descrições (classes) Objetos únicos (one-of-a-kind) Objetos do tipo Singleton são mais fáceis de se criar, pois cada objeto tem suas próprias características
19
19 Self: The Power of Simplicity Meta-regressão Baseada em classes Nenhum objeto é auto-suficiente Classes são necessárias para expressar sua estrutura e comportamento Baseada em protótipos O objeto pode incluir o seu próprio comportamento Não tem meta-regressão
20
20 Self: The Power of Simplicity Princípios no desenho de Self Messages-at-the-bottom Occam's Razor Concreto
21
21 Self: The Power of Simplicity Messages-at-the-bottom Mensagens são a operação fundamental da linguagem Acessos são feitos através de mensagens Não existem variáveis, apenas objetos que se devolvem
22
22 Self: The Power of Simplicity Occam's razor Self omite Classes e Variáveis Não existe diferença entre acessar variáveis ou enviar uma mensagem. Concreto Os elementos são o mais concreto possível Para um objeto ser criado, ele é clonado Qualquer objeto pode ser clonado
23
23 Self: The Power of Simplicity Poderoso
24
24 Self: The Power of Simplicity Herança dinâmica Objetos Singleton Adicionar/remover métodos em tempo de execução Compartilha estados entre objetos Herança múltipla
25
25 Self: The Power of Simplicity Conclusão: - Novo paradigma para linguagens OO - Simplicidade por não precisar de classes e variáveis (eliminando meta-regressão) - Em Self é possível criar estruturas com Classes e variáveis através de protótipos.
26
26 Self: The Power of Simplicity http://research.sun.com/self/
27
27 Self: The Power of Simplicity Dúvidas?
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.