MAC 413/5715 - PowerPoint PPT Presentation

About This Presentation
Title:

MAC 413/5715

Description:

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 – PowerPoint PPT presentation

Number of Views:71
Avg rating:3.0/5.0
Slides: 28
Provided by: Eduardo160
Category:
Tags: mac | simplicity

less

Transcript and Presenter's Notes

Title: MAC 413/5715


1
MAC 413/5715 SeminárioProf. Fabio Kon
  • Self The Power of Simplicity
  • David Ungar and Randall B. Smith
  • OOPSLA 1987
  • Cristina Fang
  • Eduardo Miyoshi Kasa

2
MAC 413/5715 SeminárioProf. Fabio Kon
  • O problema

3
MAC 413/5715 SeminárioProf. Fabio Kon
4
MAC 413/5715 SeminárioProf. Fabio Kon
5
Self The Power of Simplicit
  • A solução?

6
Self The Power of Simplicit
  • Self ?

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
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
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
Self The Power of Simplicity
11
Self The Power of Simplicity
  • Protótipos vs. Classes

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
Self The Power of Simplicity
  • Self combina herança, protótipos e objetos para
    eliminar a necessidade de classes

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
Self The Power of Simplicity
16
Self The Power of Simplicity
  • Simples

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
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
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
Self The Power of Simplicity
  • Princípios no desenho de Self
  • Messages-at-the-bottom
  • Occam's Razor
  • Concreto

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
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
Self The Power of Simplicity
  • Poderoso

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
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
Self The Power of Simplicity
  • http//research.sun.com/self/

27
Self The Power of Simplicity
  • Dúvidas?
Write a Comment
User Comments (0)
About PowerShow.com