SlideShare uma empresa Scribd logo
1 de 29
Baixar para ler offline
Programação
       Orientada a Objetos


    Unidade I – Introdução ao
Paradigma da Orientação a Objetos




                               Prof. Nécio de Lima Veras
                http://lattes.cnpq.br/8284657916723590
Objetivo
Citar características, vantagens e
desvantagens do paradigma da orientação a
objetos, comparando-a com o paradigma
estruturado.




                                   Prof. Nécio de Lima Veras
                    http://lattes.cnpq.br/8284657916723590
Roteiro



●   Introdução
●   O Paradigma da tecnologia de objetos;
●   Modelagem conceitual (abstração);
●   Processos de abstração;
●   Operações de abstração.


                                        Prof. Nécio Veras
Introdução




●
    Uma construção de um programa
    implicará em definir um modelo de
    resolução e isso envolve um estudo do
    problema (contexto e aspectos
    importantes);
                                 Prof. Nécio Veras
Introdução (cont.)

•    Como construir um modelo de resolução (ou
     modelagem do problema)?
    –  Existem para isso vários paradigmas:
    1. Meio Procedural (computador é uma máquina que
       apenas obedece ordens);
    2. Meio funcional (computador avalia funções e o programa
       define e compõe funções);
    3. Meio orientado a objetos (Visa “imitar” o mundo real, o
       computador simula as interações entre os objetos);




                                                 Prof. Nécio Veras
O Paradigma da Orientação a
                   Objetos
●
    O mundo real é constituído por entidades;
●
    Entidade: “Alguma coisa” que tenha sua
    própria existência, características e que
    apresenta alguma função do mundo real;
    – Assim: Entidade = Objeto;
●
    Mas o que seria esse Objeto?




                                       Prof. Nécio Veras
O paradigma da Orientação a
                        Objetos
●
    Segundo o dicionário português (s. m.):
    –   Tudo o que se oferece à vista, que afeta os sentidos.
    –   Qualquer coisa.
    –   Fig. Tudo o que se oferece ao espírito, que o ocupa; intenção, propósito.
    –   Causa, motivo de um sentimento, de uma ação.
    –   Matéria própria: o objeto de uma ação.
    –   Direito. Aquilo sobre o que incide um direito, uma obrigação, um contrato,
        uma demanda em juízo.
    –   Filosofia. O que é pensado e se opõe ao ser pensante, ou sujeito.
    –   Gramática. Complementos verbais: objeto direto e objeto indireto.
    –   O objeto amado, a pessoa a quem se ama.




                                                                 Prof. Nécio Veras
O paradigma da Orientação a
                      Objetos
●
    No mundo computacional, embora não signifique algo
    concreto ou palpável, é constituído por características que
    apresentam alguma função do mundo real;
●
    E isso inspira a resolução de problemas baseado na:
     – construção de um modelo que englobe objetos
        (entidades) definindo-se as interações entre eles;
    –   Ex.: Problema: “Chegar a um determinado ponto da
        cidade”;
        ●
            Objetos envolvidos: “Eu” , “ônibus” e “campainha”;




                                                     Prof. Nécio Veras
O Paradigma da Orientação a
          Objetos: definição preliminar
●
    Um software consiste em um entidade
    (objeto), expresso na forma de texto, que
    especifica os objetos que atuam na resolução
    de um determinado problema e que descreve
    como esses objetos devem interagir no
    sentido de resolvê-los.




                                      Prof. Nécio Veras
Modelagem Conceitual
                                              Refere-se às
Operação mental                               convenções de
para observar um                              representação
domínio e capturar
sua estrutura
                                 REPRESENTAÇÃO
               ABSTRAÇÃO


                                              Entidade
                                            Representada
        Entidade
                                Notação gráfica,
        Observada          linguagem de programação
                                                        Avião



                                                  Prof. Nécio Veras
Abstração
●
    Ex.: Problema: “determinar a média final de um aluno”;
    – Aspectos relevantes: Suas notas, assiduidade, participação
      durante as aulas;
    – Aspectos irrelevantes: Meio de transporte utilizado, procedência
      escolar, gostos;
●
    Constitui-se em um processo mental usado para
    modelar uma entidade, isolando as características
    importantes;
●
    Objetivo: Reduzir a complexidade do problema;




                                                       Prof. Nécio Veras
Abstração (cont.)
●
    Sempre dependerá do CONTEXTO, ou seja,
    do PONTO DE VISTA;
●
    Deve enfatizar as características essenciais
    do problema e o projetista deve:
    – Considerar essas características sob o ponto
      de vista de quem necessita da solução;




                                         Prof. Nécio Veras
Abstração
       “a beleza está nos olhos de quem a vê”


• Diferentes abstrações a partir de um mesmo objeto
  do mundo real




                                                    Multiplicidade
                                           I, II,   do conjunto


          Maça
         Peso
         cor da casca      Receita
         formato

                                           Prof. Nécio Veras
Conclusão (Abstração)
●
    A forma de representação depende do tipo de
    problema e dos objetivos;
●
    Um arquiteto deve representar o modelo de
    resolução do problema de construção de casa,
    usando maquetes, plantas, etc.
●
    Nosso caso: Definir modelo para que o computador
    resolva problemas;
    – Linguagens de programação;
    – Diagramas/textos descritivos;




                                          Prof. Nécio Veras
Operações de Abstração
•   É importante que se conheça os operações usadas
    durante o processo de abstração que envolve
    objetos;
•   Demonstra como o ser humano mentaliza,
    organiza e modelo o mundo ao seu redor;
•   Aplicaremos as seguintes operações básicas:
     1.   Classificação / Instanciação;
     2.   Generalização / Especialização;
     3.   Agregação / Decomposição;
     4.   Associação;



                                            Prof. Nécio Veras
Classificação / Instanciação
●
    Cada entidade possui determinadas características
    que a identificam;
●
    Ex.: Carro = Automóvel , pois possui todas as
    características de um automóvel, tais como:
    – Ter um motor, porta-malas, placa, sistemas de câmbio e
      freios, volante, etc.
●
    Veículo do vizinho, também é um automóvel, desde
    que possua as mesmas características;
    – São entidades distintas, porém pertencem a mesma
      categoria de automóveis;


                                                   Prof. Nécio Veras
Classificação
●
    Uma categoria define o conjunto de
    características que devem ser apresentados
    por um objeto;
●
    Categoria = Classe;
●
    Objetos (Possuem sua própria existência e
    características);
●
    Objetos com as mesmas características
    pertencem a uma mesma classe;


                                     Prof. Nécio Veras
Instanciação
●
    Ao construímos um objeto contendo todas as
    características de determinada classe,
    estamos fazendo uma operação de
    Instanciação;
●
    Ocorre sempre que criarmos uma entidade
    de determinada classe;




                                     Prof. Nécio Veras
Visualizando
CATEGORIA (CLASSE)

             Estudante
                de
             Graduação

                          CLASSIFICAÇÃO

                                    INSTANCIAÇÃO


          José        Maria

             INDIVÍDUO
               (Objeto)
                                    Prof. Nécio Veras
Classificação / Instanciação
                   (conclusão)
●
    Classificação: Operação que tem por
    objetivo, através da análise das
    características de um objeto, definir a que
    classe pertence;
●
    Instanciação: Operação que, dada uma
    determinada classe, define (cria) um objeto
    pertencente a esta classe;



                                       Prof. Nécio Veras
Generalização / Especialização
●
    Imagine um profissional formado em computação
    (objeto) pertencente à classe bacharel em
    computação;
●
    Considere agora este profissional faça um curso de
    especialização em análise de sistemas;
    – Então, este novo profissional possui características
      adicionais;
    – Agora ele também faz parte da classe Analistas de
      Sistemas;
●
    Assim, análise de sistemas constitui-se em uma
    especialização da classe bacharel em computação;


                                                    Prof. Nécio Veras
Visualizando
CATEGORIA (CLASSE)
            Estudante



                         GENERALIZAÇÃO


                                   ESPECIALIZAÇÃO
                                       (herança)
    Estudante        Estudante
       de             de Pós-
    Graduação        Graduação

       CATEGORIA (CLASSE)
                                   Prof. Nécio Veras
Visualizando (cont.)
  CATEGORIA (CLASSE)
                       Mamífero
   Atributos
 •sangue quente
 •vertebrado
 •vivíparo                       GENERALIZAÇÃO


                                          ESPECIALIZAÇÃO
  Atributos             Baleia                (herança)
•Habitat: mar
•Tempo médio de
  vida: 200 anos
                   CATEGORIA(CLASSE)
                                            Prof. Nécio Veras
Generalização / Especialização
                   (Conclusão)
●
    Generalização: Operação de análise de um
    conjunto de classes que identificam características
    comuns a todas, tendo-se por objetivo a definição
    de uma classe mais genérica, a qual especificará
    essas características comuns;
●
    Especialização: Operação em que, a partir de uma
    classe, identifica-se uma ou mais subclasses, cada
    uma especificando características adicionais em
    relação à classes mais geral;




                                            Prof. Nécio Veras
Agregação / Decomposição
●
    Como vimos, um objeto possui determinadas
    características:
    – Características de decomposição;
    – Características de ação;
●
    Ação está relacionada aos serviços que este objeto
    pode executar;
●
    Decomposição dizem respeito à constituição do
    objeto;
●
    Um objeto pode ser composto por vários outros
    objetos;


                                           Prof. Nécio Veras
Agregação / Decomposição
                   (cont.)
●
    Quando unimos um conjuntos de objetos, com o
    objetivo de formarmos outros objetos, estamos
    realizando uma operação de agregação;
●
    Ao analisarmos um objeto isolando cada um de
    seus componentes, estamos fazendo uma
    operação de decomposição;
●
    Os diagramas que demonstram estas operações,
    também podem ser chamados de Todo-Parte;



                                        Prof. Nécio Veras
Visualizando
CATEGORIA(CLASSE)


               Estudante

                            AGREGAÇÃO
                             (composição -
                                síntese)

                                       DECOMPOSIÇÃO
      Nome           Endereço            (refinamento -
                                             análise)
   CATEGORIA      COMPONENTE


                                         Prof. Nécio Veras
Associação
●
    Apresenta um determinado relacionamento,
    caracterizado pela ligação entre suas entidades;
     – Ex.: Professor e aluno no problema relacionado
       ao ato de ministrar aulas;
●
    Em associação, as entidades que possuem ligação
    existem independentemente uma da outra;
    –   Ao contrário de Agregação/decomposição, no qual implica
        o acoplamento forte entre as entidades (uma é parte
        integrante da outra);




                                                  Prof. Nécio Veras
Exercícios




             Prof. Nécio Veras

Mais conteúdo relacionado

Mais procurados

Aula 06 projetos multimídia
Aula 06   projetos multimídiaAula 06   projetos multimídia
Aula 06 projetos multimídiaFábio Costa
 
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeira
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeiraBanco de Dados - Modelo Lógico, Chave primária e Chave estrangeira
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeiraNatanael Simões
 
Excel Básico - Introdução
Excel Básico - IntroduçãoExcel Básico - Introdução
Excel Básico - IntroduçãoCleber Ramos
 
Estrutura de Dados - Aula 01 - Apresentação
Estrutura de Dados - Aula 01 - ApresentaçãoEstrutura de Dados - Aula 01 - Apresentação
Estrutura de Dados - Aula 01 - ApresentaçãoLeinylson Fontinele
 
Aula 13 - Matrizes
Aula 13 - MatrizesAula 13 - Matrizes
Aula 13 - MatrizesPacc UAB
 
Exercicios de estruturas condicionais - Lógica de Programação
Exercicios de estruturas condicionais - Lógica de ProgramaçãoExercicios de estruturas condicionais - Lógica de Programação
Exercicios de estruturas condicionais - Lógica de ProgramaçãoBruno Quaresma
 
Estrutura de Dados Apoio (Complexidade de Algoritmos)
Estrutura de Dados Apoio (Complexidade de Algoritmos)Estrutura de Dados Apoio (Complexidade de Algoritmos)
Estrutura de Dados Apoio (Complexidade de Algoritmos)Leinylson Fontinele
 
Aula 1 - Introdução ao Mobile
Aula 1 - Introdução ao MobileAula 1 - Introdução ao Mobile
Aula 1 - Introdução ao MobileCloves da Rocha
 
2.multimedia unit 1 introduction
2.multimedia unit 1 introduction2.multimedia unit 1 introduction
2.multimedia unit 1 introductionVikas Agrahari
 
Estruturas de dados em Python
Estruturas de dados em PythonEstruturas de dados em Python
Estruturas de dados em PythonRicardo Paiva
 
Lógica de programação em ppt
Lógica de programação em pptLógica de programação em ppt
Lógica de programação em pptAndrei Bastos
 

Mais procurados (20)

Estrutura de Dados em Java (Introdução)
Estrutura de Dados em Java (Introdução)Estrutura de Dados em Java (Introdução)
Estrutura de Dados em Java (Introdução)
 
Aula 06 projetos multimídia
Aula 06   projetos multimídiaAula 06   projetos multimídia
Aula 06 projetos multimídia
 
Formatando o computador
Formatando o computadorFormatando o computador
Formatando o computador
 
Algoritmos - Aula 07 A - Vetores
Algoritmos - Aula 07 A - VetoresAlgoritmos - Aula 07 A - Vetores
Algoritmos - Aula 07 A - Vetores
 
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeira
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeiraBanco de Dados - Modelo Lógico, Chave primária e Chave estrangeira
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeira
 
Html básico 4 tabelas
Html básico 4   tabelasHtml básico 4   tabelas
Html básico 4 tabelas
 
Excel Básico - Introdução
Excel Básico - IntroduçãoExcel Básico - Introdução
Excel Básico - Introdução
 
Linguagem C - Vetores
Linguagem C - VetoresLinguagem C - Vetores
Linguagem C - Vetores
 
Estrutura de Dados - Aula 01 - Apresentação
Estrutura de Dados - Aula 01 - ApresentaçãoEstrutura de Dados - Aula 01 - Apresentação
Estrutura de Dados - Aula 01 - Apresentação
 
Aula 13 - Matrizes
Aula 13 - MatrizesAula 13 - Matrizes
Aula 13 - Matrizes
 
Linguagem C 09 Ponteiros
Linguagem C 09 PonteirosLinguagem C 09 Ponteiros
Linguagem C 09 Ponteiros
 
Exercicios de estruturas condicionais - Lógica de Programação
Exercicios de estruturas condicionais - Lógica de ProgramaçãoExercicios de estruturas condicionais - Lógica de Programação
Exercicios de estruturas condicionais - Lógica de Programação
 
Estrutura de Dados Apoio (Complexidade de Algoritmos)
Estrutura de Dados Apoio (Complexidade de Algoritmos)Estrutura de Dados Apoio (Complexidade de Algoritmos)
Estrutura de Dados Apoio (Complexidade de Algoritmos)
 
Aula 1 - Introdução ao Mobile
Aula 1 - Introdução ao MobileAula 1 - Introdução ao Mobile
Aula 1 - Introdução ao Mobile
 
Aula 6 banco de dados
Aula 6   banco de dadosAula 6   banco de dados
Aula 6 banco de dados
 
2.multimedia unit 1 introduction
2.multimedia unit 1 introduction2.multimedia unit 1 introduction
2.multimedia unit 1 introduction
 
Estruturas de dados em Python
Estruturas de dados em PythonEstruturas de dados em Python
Estruturas de dados em Python
 
Aula I - Excel
Aula I - ExcelAula I - Excel
Aula I - Excel
 
Lógica de programação em ppt
Lógica de programação em pptLógica de programação em ppt
Lógica de programação em ppt
 
Mapa conceptual POO
Mapa conceptual POOMapa conceptual POO
Mapa conceptual POO
 

Semelhante a Introdução ao paradigma OO

O paradigma da orientação a objetos
O paradigma da orientação a objetosO paradigma da orientação a objetos
O paradigma da orientação a objetosNécio de Lima Veras
 
Matrizes de referencia para a avaliação
Matrizes de referencia para a avaliaçãoMatrizes de referencia para a avaliação
Matrizes de referencia para a avaliaçãoprisciladamico
 
E-assessment, 21st century skills, taxonomias e aprendizagens
E-assessment, 21st century skills, taxonomias e aprendizagensE-assessment, 21st century skills, taxonomias e aprendizagens
E-assessment, 21st century skills, taxonomias e aprendizagensNeuza Pedro
 
2.1 introdução a oo
2.1 introdução a oo2.1 introdução a oo
2.1 introdução a ooPAULO Moreira
 
Interação Humano Computador Capítulo 9 - Design
Interação Humano Computador Capítulo 9 - DesignInteração Humano Computador Capítulo 9 - Design
Interação Humano Computador Capítulo 9 - DesignWellington Oliveira
 
Avaliacao de Software Educativo
Avaliacao de Software EducativoAvaliacao de Software Educativo
Avaliacao de Software Educativosilvanatsal
 
Metodologia orientado a objetos
Metodologia orientado a objetosMetodologia orientado a objetos
Metodologia orientado a objetosGabriel Faustino
 
Paradigmas de programação
Paradigmas de programaçãoParadigmas de programação
Paradigmas de programaçãoMahayana2706
 
Relato Experiência Taxonomia SOLO
Relato Experiência Taxonomia SOLORelato Experiência Taxonomia SOLO
Relato Experiência Taxonomia SOLOCamilo Almendra
 
Comp hab coordenadores
Comp hab coordenadoresComp hab coordenadores
Comp hab coordenadoresEdilson Silva
 
Conceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetosConceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetosLeonardo Melo Santos
 
Introdução à programação por objectos final
Introdução à programação por objectos finalIntrodução à programação por objectos final
Introdução à programação por objectos finalemcp11
 
Metodologias de Design de Interação
Metodologias de Design de InteraçãoMetodologias de Design de Interação
Metodologias de Design de InteraçãoUTFPR
 

Semelhante a Introdução ao paradigma OO (20)

O paradigma da orientação a objetos
O paradigma da orientação a objetosO paradigma da orientação a objetos
O paradigma da orientação a objetos
 
Matrizes de referencia para a avaliação
Matrizes de referencia para a avaliaçãoMatrizes de referencia para a avaliação
Matrizes de referencia para a avaliação
 
Aula 01 introdução aoo
Aula 01   introdução aooAula 01   introdução aoo
Aula 01 introdução aoo
 
Aula 04.pdf
Aula 04.pdfAula 04.pdf
Aula 04.pdf
 
E-assessment, 21st century skills, taxonomias e aprendizagens
E-assessment, 21st century skills, taxonomias e aprendizagensE-assessment, 21st century skills, taxonomias e aprendizagens
E-assessment, 21st century skills, taxonomias e aprendizagens
 
UML
UMLUML
UML
 
2.1 introdução a oo
2.1 introdução a oo2.1 introdução a oo
2.1 introdução a oo
 
Classes abstratas e interfaces
Classes abstratas e interfacesClasses abstratas e interfaces
Classes abstratas e interfaces
 
Interação Humano Computador Capítulo 9 - Design
Interação Humano Computador Capítulo 9 - DesignInteração Humano Computador Capítulo 9 - Design
Interação Humano Computador Capítulo 9 - Design
 
Avaliacao de Software Educativo
Avaliacao de Software EducativoAvaliacao de Software Educativo
Avaliacao de Software Educativo
 
Metodologia orientado a objetos
Metodologia orientado a objetosMetodologia orientado a objetos
Metodologia orientado a objetos
 
Paradigmas de programação
Paradigmas de programaçãoParadigmas de programação
Paradigmas de programação
 
Powerpoint
PowerpointPowerpoint
Powerpoint
 
Relato Experiência Taxonomia SOLO
Relato Experiência Taxonomia SOLORelato Experiência Taxonomia SOLO
Relato Experiência Taxonomia SOLO
 
Orientacao a Objetos
Orientacao a ObjetosOrientacao a Objetos
Orientacao a Objetos
 
Aula01-IntroducaoOO.pptx
Aula01-IntroducaoOO.pptxAula01-IntroducaoOO.pptx
Aula01-IntroducaoOO.pptx
 
Comp hab coordenadores
Comp hab coordenadoresComp hab coordenadores
Comp hab coordenadores
 
Conceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetosConceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetos
 
Introdução à programação por objectos final
Introdução à programação por objectos finalIntrodução à programação por objectos final
Introdução à programação por objectos final
 
Metodologias de Design de Interação
Metodologias de Design de InteraçãoMetodologias de Design de Interação
Metodologias de Design de Interação
 

Mais de Nécio de Lima Veras

Introdução à analise e complexidade de algoritmos
Introdução à analise e complexidade de algoritmosIntrodução à analise e complexidade de algoritmos
Introdução à analise e complexidade de algoritmosNécio de Lima Veras
 
Uma Abordagem Baseada em Agentes para Planejamento e Monitoramento de Serviço...
Uma Abordagem Baseada em Agentes para Planejamento e Monitoramento de Serviço...Uma Abordagem Baseada em Agentes para Planejamento e Monitoramento de Serviço...
Uma Abordagem Baseada em Agentes para Planejamento e Monitoramento de Serviço...Nécio de Lima Veras
 
Introdução à Engenharia de Software Orientada a Agentes com JaCaMo
Introdução à Engenharia de Software Orientada a Agentes com JaCaMoIntrodução à Engenharia de Software Orientada a Agentes com JaCaMo
Introdução à Engenharia de Software Orientada a Agentes com JaCaMoNécio de Lima Veras
 
Jason: Componentes personalizados
Jason: Componentes personalizados Jason: Componentes personalizados
Jason: Componentes personalizados Nécio de Lima Veras
 
Ambientes em Sistemas Multi-agentes
Ambientes em Sistemas Multi-agentesAmbientes em Sistemas Multi-agentes
Ambientes em Sistemas Multi-agentesNécio de Lima Veras
 
Arquiteturas concretas de agentes inteligentes - bdi agents
Arquiteturas concretas de agentes inteligentes - bdi agentsArquiteturas concretas de agentes inteligentes - bdi agents
Arquiteturas concretas de agentes inteligentes - bdi agentsNécio de Lima Veras
 
Especificações iniciais de agentes inteligentes
Especificações iniciais de agentes inteligentesEspecificações iniciais de agentes inteligentes
Especificações iniciais de agentes inteligentesNécio de Lima Veras
 
Processos iniciais do mapeamento OR
Processos iniciais do mapeamento ORProcessos iniciais do mapeamento OR
Processos iniciais do mapeamento ORNécio de Lima Veras
 

Mais de Nécio de Lima Veras (20)

Introdução ao JavaFX
Introdução ao JavaFXIntrodução ao JavaFX
Introdução ao JavaFX
 
Introdução à analise e complexidade de algoritmos
Introdução à analise e complexidade de algoritmosIntrodução à analise e complexidade de algoritmos
Introdução à analise e complexidade de algoritmos
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Versionamento com git
Versionamento com gitVersionamento com git
Versionamento com git
 
Uma Abordagem Baseada em Agentes para Planejamento e Monitoramento de Serviço...
Uma Abordagem Baseada em Agentes para Planejamento e Monitoramento de Serviço...Uma Abordagem Baseada em Agentes para Planejamento e Monitoramento de Serviço...
Uma Abordagem Baseada em Agentes para Planejamento e Monitoramento de Serviço...
 
Introdução à Engenharia de Software Orientada a Agentes com JaCaMo
Introdução à Engenharia de Software Orientada a Agentes com JaCaMoIntrodução à Engenharia de Software Orientada a Agentes com JaCaMo
Introdução à Engenharia de Software Orientada a Agentes com JaCaMo
 
Jason: Componentes personalizados
Jason: Componentes personalizados Jason: Componentes personalizados
Jason: Componentes personalizados
 
Agentes inteligentes com jason
Agentes inteligentes com jasonAgentes inteligentes com jason
Agentes inteligentes com jason
 
Ambientes em Sistemas Multi-agentes
Ambientes em Sistemas Multi-agentesAmbientes em Sistemas Multi-agentes
Ambientes em Sistemas Multi-agentes
 
Arquiteturas concretas de agentes inteligentes - bdi agents
Arquiteturas concretas de agentes inteligentes - bdi agentsArquiteturas concretas de agentes inteligentes - bdi agents
Arquiteturas concretas de agentes inteligentes - bdi agents
 
Revisão de matemática
Revisão de matemáticaRevisão de matemática
Revisão de matemática
 
Especificações iniciais de agentes inteligentes
Especificações iniciais de agentes inteligentesEspecificações iniciais de agentes inteligentes
Especificações iniciais de agentes inteligentes
 
Notas sobre agentes inteligentes
Notas sobre agentes inteligentesNotas sobre agentes inteligentes
Notas sobre agentes inteligentes
 
Anotações do mapeamento OR
Anotações do mapeamento ORAnotações do mapeamento OR
Anotações do mapeamento OR
 
Hibernate-consultas
Hibernate-consultasHibernate-consultas
Hibernate-consultas
 
Mapeamento de herança OR
Mapeamento de herança ORMapeamento de herança OR
Mapeamento de herança OR
 
Relacionamentos do mapeamento OR
Relacionamentos do mapeamento ORRelacionamentos do mapeamento OR
Relacionamentos do mapeamento OR
 
Processos iniciais do mapeamento OR
Processos iniciais do mapeamento ORProcessos iniciais do mapeamento OR
Processos iniciais do mapeamento OR
 
Java swing
Java swingJava swing
Java swing
 
Introdução à linguagem UML
Introdução à linguagem UMLIntrodução à linguagem UML
Introdução à linguagem UML
 

Introdução ao paradigma OO

  • 1. Programação Orientada a Objetos Unidade I – Introdução ao Paradigma da Orientação a Objetos Prof. Nécio de Lima Veras http://lattes.cnpq.br/8284657916723590
  • 2. Objetivo Citar características, vantagens e desvantagens do paradigma da orientação a objetos, comparando-a com o paradigma estruturado. Prof. Nécio de Lima Veras http://lattes.cnpq.br/8284657916723590
  • 3. Roteiro ● Introdução ● O Paradigma da tecnologia de objetos; ● Modelagem conceitual (abstração); ● Processos de abstração; ● Operações de abstração. Prof. Nécio Veras
  • 4. Introdução ● Uma construção de um programa implicará em definir um modelo de resolução e isso envolve um estudo do problema (contexto e aspectos importantes); Prof. Nécio Veras
  • 5. Introdução (cont.) • Como construir um modelo de resolução (ou modelagem do problema)? – Existem para isso vários paradigmas: 1. Meio Procedural (computador é uma máquina que apenas obedece ordens); 2. Meio funcional (computador avalia funções e o programa define e compõe funções); 3. Meio orientado a objetos (Visa “imitar” o mundo real, o computador simula as interações entre os objetos); Prof. Nécio Veras
  • 6. O Paradigma da Orientação a Objetos ● O mundo real é constituído por entidades; ● Entidade: “Alguma coisa” que tenha sua própria existência, características e que apresenta alguma função do mundo real; – Assim: Entidade = Objeto; ● Mas o que seria esse Objeto? Prof. Nécio Veras
  • 7. O paradigma da Orientação a Objetos ● Segundo o dicionário português (s. m.): – Tudo o que se oferece à vista, que afeta os sentidos. – Qualquer coisa. – Fig. Tudo o que se oferece ao espírito, que o ocupa; intenção, propósito. – Causa, motivo de um sentimento, de uma ação. – Matéria própria: o objeto de uma ação. – Direito. Aquilo sobre o que incide um direito, uma obrigação, um contrato, uma demanda em juízo. – Filosofia. O que é pensado e se opõe ao ser pensante, ou sujeito. – Gramática. Complementos verbais: objeto direto e objeto indireto. – O objeto amado, a pessoa a quem se ama. Prof. Nécio Veras
  • 8. O paradigma da Orientação a Objetos ● No mundo computacional, embora não signifique algo concreto ou palpável, é constituído por características que apresentam alguma função do mundo real; ● E isso inspira a resolução de problemas baseado na: – construção de um modelo que englobe objetos (entidades) definindo-se as interações entre eles; – Ex.: Problema: “Chegar a um determinado ponto da cidade”; ● Objetos envolvidos: “Eu” , “ônibus” e “campainha”; Prof. Nécio Veras
  • 9. O Paradigma da Orientação a Objetos: definição preliminar ● Um software consiste em um entidade (objeto), expresso na forma de texto, que especifica os objetos que atuam na resolução de um determinado problema e que descreve como esses objetos devem interagir no sentido de resolvê-los. Prof. Nécio Veras
  • 10. Modelagem Conceitual Refere-se às Operação mental convenções de para observar um representação domínio e capturar sua estrutura REPRESENTAÇÃO ABSTRAÇÃO Entidade Representada Entidade Notação gráfica, Observada linguagem de programação Avião Prof. Nécio Veras
  • 11. Abstração ● Ex.: Problema: “determinar a média final de um aluno”; – Aspectos relevantes: Suas notas, assiduidade, participação durante as aulas; – Aspectos irrelevantes: Meio de transporte utilizado, procedência escolar, gostos; ● Constitui-se em um processo mental usado para modelar uma entidade, isolando as características importantes; ● Objetivo: Reduzir a complexidade do problema; Prof. Nécio Veras
  • 12. Abstração (cont.) ● Sempre dependerá do CONTEXTO, ou seja, do PONTO DE VISTA; ● Deve enfatizar as características essenciais do problema e o projetista deve: – Considerar essas características sob o ponto de vista de quem necessita da solução; Prof. Nécio Veras
  • 13. Abstração “a beleza está nos olhos de quem a vê” • Diferentes abstrações a partir de um mesmo objeto do mundo real Multiplicidade I, II, do conjunto Maça Peso cor da casca Receita formato Prof. Nécio Veras
  • 14. Conclusão (Abstração) ● A forma de representação depende do tipo de problema e dos objetivos; ● Um arquiteto deve representar o modelo de resolução do problema de construção de casa, usando maquetes, plantas, etc. ● Nosso caso: Definir modelo para que o computador resolva problemas; – Linguagens de programação; – Diagramas/textos descritivos; Prof. Nécio Veras
  • 15. Operações de Abstração • É importante que se conheça os operações usadas durante o processo de abstração que envolve objetos; • Demonstra como o ser humano mentaliza, organiza e modelo o mundo ao seu redor; • Aplicaremos as seguintes operações básicas: 1. Classificação / Instanciação; 2. Generalização / Especialização; 3. Agregação / Decomposição; 4. Associação; Prof. Nécio Veras
  • 16. Classificação / Instanciação ● Cada entidade possui determinadas características que a identificam; ● Ex.: Carro = Automóvel , pois possui todas as características de um automóvel, tais como: – Ter um motor, porta-malas, placa, sistemas de câmbio e freios, volante, etc. ● Veículo do vizinho, também é um automóvel, desde que possua as mesmas características; – São entidades distintas, porém pertencem a mesma categoria de automóveis; Prof. Nécio Veras
  • 17. Classificação ● Uma categoria define o conjunto de características que devem ser apresentados por um objeto; ● Categoria = Classe; ● Objetos (Possuem sua própria existência e características); ● Objetos com as mesmas características pertencem a uma mesma classe; Prof. Nécio Veras
  • 18. Instanciação ● Ao construímos um objeto contendo todas as características de determinada classe, estamos fazendo uma operação de Instanciação; ● Ocorre sempre que criarmos uma entidade de determinada classe; Prof. Nécio Veras
  • 19. Visualizando CATEGORIA (CLASSE) Estudante de Graduação CLASSIFICAÇÃO INSTANCIAÇÃO José Maria INDIVÍDUO (Objeto) Prof. Nécio Veras
  • 20. Classificação / Instanciação (conclusão) ● Classificação: Operação que tem por objetivo, através da análise das características de um objeto, definir a que classe pertence; ● Instanciação: Operação que, dada uma determinada classe, define (cria) um objeto pertencente a esta classe; Prof. Nécio Veras
  • 21. Generalização / Especialização ● Imagine um profissional formado em computação (objeto) pertencente à classe bacharel em computação; ● Considere agora este profissional faça um curso de especialização em análise de sistemas; – Então, este novo profissional possui características adicionais; – Agora ele também faz parte da classe Analistas de Sistemas; ● Assim, análise de sistemas constitui-se em uma especialização da classe bacharel em computação; Prof. Nécio Veras
  • 22. Visualizando CATEGORIA (CLASSE) Estudante GENERALIZAÇÃO ESPECIALIZAÇÃO (herança) Estudante Estudante de de Pós- Graduação Graduação CATEGORIA (CLASSE) Prof. Nécio Veras
  • 23. Visualizando (cont.) CATEGORIA (CLASSE) Mamífero Atributos •sangue quente •vertebrado •vivíparo GENERALIZAÇÃO ESPECIALIZAÇÃO Atributos Baleia (herança) •Habitat: mar •Tempo médio de vida: 200 anos CATEGORIA(CLASSE) Prof. Nécio Veras
  • 24. Generalização / Especialização (Conclusão) ● Generalização: Operação de análise de um conjunto de classes que identificam características comuns a todas, tendo-se por objetivo a definição de uma classe mais genérica, a qual especificará essas características comuns; ● Especialização: Operação em que, a partir de uma classe, identifica-se uma ou mais subclasses, cada uma especificando características adicionais em relação à classes mais geral; Prof. Nécio Veras
  • 25. Agregação / Decomposição ● Como vimos, um objeto possui determinadas características: – Características de decomposição; – Características de ação; ● Ação está relacionada aos serviços que este objeto pode executar; ● Decomposição dizem respeito à constituição do objeto; ● Um objeto pode ser composto por vários outros objetos; Prof. Nécio Veras
  • 26. Agregação / Decomposição (cont.) ● Quando unimos um conjuntos de objetos, com o objetivo de formarmos outros objetos, estamos realizando uma operação de agregação; ● Ao analisarmos um objeto isolando cada um de seus componentes, estamos fazendo uma operação de decomposição; ● Os diagramas que demonstram estas operações, também podem ser chamados de Todo-Parte; Prof. Nécio Veras
  • 27. Visualizando CATEGORIA(CLASSE) Estudante AGREGAÇÃO (composição - síntese) DECOMPOSIÇÃO Nome Endereço (refinamento - análise) CATEGORIA COMPONENTE Prof. Nécio Veras
  • 28. Associação ● Apresenta um determinado relacionamento, caracterizado pela ligação entre suas entidades; – Ex.: Professor e aluno no problema relacionado ao ato de ministrar aulas; ● Em associação, as entidades que possuem ligação existem independentemente uma da outra; – Ao contrário de Agregação/decomposição, no qual implica o acoplamento forte entre as entidades (uma é parte integrante da outra); Prof. Nécio Veras
  • 29. Exercícios Prof. Nécio Veras