Classification in Object-Oriented Systems Peter Wegner Carlos Eduardo da Silva César Frederico dos Santos.

Slides:



Advertisements
Apresentações semelhantes
Orientação a objetos identidade abstração classificação encapsulamento
Advertisements

Análise e Projeto Orientado a Objetos
Desenvolvimento de aplicativos Orientados a Objetos: Definição e Características THIAGO IDEALI.
Profa. Dra Maria Luiza de Almeida Campos
Princípios da Orientação a Objetos e a Linguagem UML
Java e OO – Isso é só um roteiro de aula
Programação Orientada a Objetos C++ Prof. Érico Olavo Weissheimer
Karla Yotoko – DBG Universidade Federal de Viçosa
Filosofia O amor ao saber Prof. Alan Carlos Ghedini
LPOO Classe e objeto.
Paradigmas de Programação
Diretriz Curricular Estadual - Biologia Encaminhamentos.
Design Patterns Interpreter
Modelagem Orientada a Objetos
Mapeamento Objeto Relacional
Metodologias Orientadas a Agentes
Introdução ao paradigma de programação: Orientado a Objetos
Introdução a diagrama de classes e UML
Curso Sistemas de Informação Disciplina: Arquitetura de Software
Curso Sistemas de Informação Disciplina: Arquitetura de Software
Linguagem de Programação II
Linguagem de Programação
Introdução à Programação
Programação Orientada a Objetos
Platão e a Teoria das Idéias
Carlos Alberto de Freitas Pereira Júnior
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
Orientação a Objetos.
Universidade do Vale do Rio dos Sinos
TÉCNICAS DE PROGRAMAÇÃO II
Análise Orientada a Objetos
Cícero paulino dos santos costa
NATUREZA DAS ORGANIZAÇÕES
Princípios de Orientação à Objetos
Introdução à Ciência da Computação-2 Fabio Nakano – Por favor colocar no assunto: ICC2 - – Bloco A-1, segundo andar,
METODOLOGIA PARA DESENVOLVIMENTO DE SISTEMAS Prof. Dr. rer. nat. Daniel D. Abdala 1.
. Smalltalk HISTÓRICO . Década de 60 – POO . Dynabook (Alan Kay)
Laboratório de Programação I
Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1.
Paradigmas da Programação – Semestre 1 – Aula 2 Professores: Eduardo Mantovani Fábio de Paula.
Estudo dos Conceitos e Paradigmas de Programação
Paradigmas de Linguagens de Programação
SISTEMA TEORIA DE SISTEMAS ABORDAGEM SISTÊMICA.
Classificação Profa. Lillian Alvares, Faculdade de Ciência da Informação, Universidade de Brasília.
Orientação a Objetos Parte I
Programação Orientada à Objetos
Ontologias Profa. Lillian Alvares
Programação Orientada a Objetos - Java
Prof. Silvestri – todos os direitos reservados SISTEMAS DISTRIBUIDOS Aula 5 Eduardo Silvestri
SISTEMAS DISTRIBUIDOS Aula 4
Projeto Orientado aos Objetos Prof. Wolley W. Silva
Uma perspectiva conceitual sobre a comparação de LPOO´s Bent Bruun Kristenser Kasper Osterbte By Lineu Antonio de Lima Santos.
Generalização e herança Agregação e composição
Paradigmas da Programação – Semestre 2 – Aula 1 Professores: Fábio de Paula Santos Eduardo Mantovani
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos Professor: Cheli Mendes Costa Introdução a Programação Orientada.
Treinamento PHP Módulo 2 PHP Avançado Waelson Negreiros
Introdução a Orientação a Objetos
Banco de Dados Universidade do Estado de Santa Catarina
Engenharia de Software Orientada a Objetos
Histórico, cenário atual e características.
Projeto de Banco de Dados
Módulo II Capítulo 1: Orientação a Objetos
Características Cor Combustível Num_Portas Potencia Comportamentos Acelerar Feiar Acender farol Dar seta Buzinar Características Cor Combustível Num_Portas.
1 Database Systems, 8 th Edition Sistemas de Banco de Dados: Projeto, Implementação e gestão Oitava Edição Capítulo 2 Modelo de Dados.
Herança. É o compartilhamento de características entre classes com base em um relacionamento hierárquico. – Possibilita a derivação de tipos mais específicos.
ORIGENS COMO TUDO COMEÇOU.
Desenvolvendo sotfware com UML1 Visão Geral de Orientação a Objetos.
Aula 4 Sistemática Filogenética no ensino de Zoologia
O Pensamento Positivista – Augusto Comte
Análise Orientada a Objetos Prof. Wolley W. Silva
Transcrição da apresentação:

Classification in Object-Oriented Systems Peter Wegner Carlos Eduardo da Silva César Frederico dos Santos

Objetivo do artigo Fundamentar os mecanismos da Orientação a objetos, com base na biologia, matemática e filosofia Caracterizar o paradigma, delimitando o que é e o que não é OO

Por que usamos classes? Idéia universal Atividade natural de crianças, cientistas e programadores As classes surgiram na biologia, com Aristóteles Dicotomias (top-down) Distinção de espécies (botton-up)

Por que usamos classes? Linnaeus refinou a idéia de classes na biologia Classe, ordem, gênero e espécie Classes => visão botton-up Diferenças => top-down

Classes X diferenças Seres vivos AnimaisVegetais VertebradosInvertebrados homeotérmicospecilotérmicos Top- down Botton -up

Por que usamos classes? A adoção dos mecanismos de classes na Computação advém, em parte, dos mecanismos biológicos de classificação. Quando estudamos um domínio de aplicação identificando classes, fazemos o mesmo que Aristóteles e Linnaeus fizeram ao classificar os seres vivos

Darwin e a herança O sistema de classificação de Darwin é baseado na evolução das espécies Darwin introduziu a herança na biologia A adoção da metáfora de evolução (herança entre classes) em orientação a objetos é motivada em parte pela Teoria da Evolução, em parte pelo seu poder de organização

Darwin e a herança Desenvolvimento é evolucionário Descrição de alto-nível, incrementada e modificada através da definição de subclasses Poder da herança = simultaneamente administra mudanças evolucionárias e organiza semelhanças

Biologia e o poder da OO A combinação dos mecanismos de classe (Aristóteles e Linnaeus) para organizar o conhecimento, com o mecanismo de herança (Darwin) para tratar a mudança, é onde reside o grande poder da metodologia orientada a objetos

Matemática e OO Teoria dos Conjuntos predicados necessários para que um membro faça parte da classe (atributos e comportamentos) tipos polimórficos, ou seja, classes que classificam classes (conjuntos e subconjuntos)

Características de OO Três pontos fundamentais para uma LP OO abstração de dados (encapsulamento) tipo abstrato de dados (dados + comportamento) herança

Características de OO O paradigma OO combina três paradigmas Transição de estados Comunicação Classes

Três paradigmas Classe1 atributoA atributoB métodoA { msg classe2 comandos } métodoB Classe2 atributoA atributoB métodoA métodoB métodoC Transição de estados comunicação

Tipos e OO O que é tipo? conceito primitivo não definível em termos de outros conceitos primitivos como a noção de “mesa” de Platão, na sua Teoria das Idéias Filósofos chamam de “coisas naturais”

Tipos e OO OO estende a idéia de tipos uma classe de coisas que pode ser tipada é estendida para abstração de dados, isto é, coleções de operadores que se relacionam uns com os outros pelo compartilhamento de uma estrutura de dados comum que persiste entre a evocação dos operadores (tipo abstrato de dados) relações interessantes entre tipos, em particular a herança, podem ser expressadas na linguagem

Tipos e OO A OO estende a estrutura “plana” de tipos para uma árvore hierárquica A herança determina relações de paternidade entre tipos e subtipos, fortalecendo a semântica da relação de tipos

Modularização e herança Herança trata a mudança Complexidade no tempo Modularização trata o tamanho Complexidade no espaço OO é capaz de administrar a complexidade em relação ao tempo e ao espaço

Troca de mensagens é OO? Sistemas OO dão ênfase à comunicação entre classes A comunicação está presente da em outros paradigmas de forma semelhante A comunicação não é prerrogativa de OO

Viajando filosoficamente A Alegoria da Caverna Livro VII de “A República”, Platão Deus O que isso tem com OO?

Deus e Platão Deus, criador do universo, tem a visão global onisciente O habitante da caverna tem visão limitada Deus = projetista do sistema Habitante da caverna = operador

Deus e Platão Em alguns contextos, Deus pode ser o habitante da caverna (?!) Deus e o habitante da caverna precisam se entender Integração da linguagem de definição com a de implementação Mapeamento direto

Viajando mais um pouco... Ambos os pontos de vista (de Deus e do habitante da caverna) são legítimos ou apenas o ponto de vista do criador é legítimo? Só vemos as coisas que existem ou só existem as coisas que vemos?