SlideShare uma empresa Scribd logo
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

Informatica Na Educacao
Informatica Na EducacaoInformatica Na Educacao
Informatica Na Educacao
Carlos Castro
 
Ficha de trabalho_5
Ficha de trabalho_5Ficha de trabalho_5
Ficha de trabalho_5
AnaRitaFerreiraPereira
 
Deep Learning e o Futuro da Inteligência Artificial
Deep Learning e o Futuro da Inteligência ArtificialDeep Learning e o Futuro da Inteligência Artificial
Deep Learning e o Futuro da Inteligência Artificial
Sandro Moreira
 
Linux
LinuxLinux
Aula 07 - Os tipos de computador - Operador de computador
Aula 07 - Os tipos de computador - Operador de computadorAula 07 - Os tipos de computador - Operador de computador
Aula 07 - Os tipos de computador - Operador de computador
CEULJI/ULBRA Centro Universitário Luterano de Ji-Paraná
 
Introdução à sistemas distribuídos
Introdução à sistemas distribuídosIntrodução à sistemas distribuídos
Introdução à sistemas distribuídos
Faculdade Mater Christi
 
Linguagem logo
Linguagem logoLinguagem logo
Linguagem logo
wanluli
 
Impactos da informática na Ciência e Tecnologia
Impactos da informática na Ciência e TecnologiaImpactos da informática na Ciência e Tecnologia
Impactos da informática na Ciência e Tecnologia
Felipe Prado
 
Informatica basica
Informatica basicaInformatica basica
Informatica basica
guestcb69a562
 
Lógica e algoritmos
Lógica e algoritmosLógica e algoritmos
Lógica e algoritmos
Jocelma Rios
 
Aula 01 - Sistemas Operacionais - Windows 10
Aula 01 - Sistemas Operacionais - Windows 10Aula 01 - Sistemas Operacionais - Windows 10
Aula 01 - Sistemas Operacionais - Windows 10
LucasMansueto
 
Planeamento Rede
Planeamento RedePlaneamento Rede
Planeamento Rede
João Sousa
 
Eav audio e imersão 2
Eav audio e imersão 2Eav audio e imersão 2
Eav audio e imersão 2
UNIP. Universidade Paulista
 
Teclado
TecladoTeclado
Virtualização - Máquinas Virtuais
Virtualização - Máquinas VirtuaisVirtualização - Máquinas Virtuais
Virtualização - Máquinas Virtuais
André Felipe Santos Martins
 
Sistemas Distribuídos - Comunicação Distribuída – Middleware
Sistemas Distribuídos - Comunicação Distribuída – MiddlewareSistemas Distribuídos - Comunicação Distribuída – Middleware
Sistemas Distribuídos - Comunicação Distribuída – Middleware
Adriano Teixeira de Souza
 
Internet
InternetInternet
Internet
guest46b930
 
Segurança dos Sistemas Operativos
Segurança dos Sistemas OperativosSegurança dos Sistemas Operativos
Segurança dos Sistemas Operativos
Pedro Marmelo
 
Protocolos de Redes
Protocolos de RedesProtocolos de Redes
Protocolos de Redes
Wellington Oliveira
 
Oficina de Introdução ao Design de Interação
Oficina de Introdução ao Design de InteraçãoOficina de Introdução ao Design de Interação
Oficina de Introdução ao Design de Interação
Rodrigo Freese Gonzatto
 

Mais procurados (20)

Informatica Na Educacao
Informatica Na EducacaoInformatica Na Educacao
Informatica Na Educacao
 
Ficha de trabalho_5
Ficha de trabalho_5Ficha de trabalho_5
Ficha de trabalho_5
 
Deep Learning e o Futuro da Inteligência Artificial
Deep Learning e o Futuro da Inteligência ArtificialDeep Learning e o Futuro da Inteligência Artificial
Deep Learning e o Futuro da Inteligência Artificial
 
Linux
LinuxLinux
Linux
 
Aula 07 - Os tipos de computador - Operador de computador
Aula 07 - Os tipos de computador - Operador de computadorAula 07 - Os tipos de computador - Operador de computador
Aula 07 - Os tipos de computador - Operador de computador
 
Introdução à sistemas distribuídos
Introdução à sistemas distribuídosIntrodução à sistemas distribuídos
Introdução à sistemas distribuídos
 
Linguagem logo
Linguagem logoLinguagem logo
Linguagem logo
 
Impactos da informática na Ciência e Tecnologia
Impactos da informática na Ciência e TecnologiaImpactos da informática na Ciência e Tecnologia
Impactos da informática na Ciência e Tecnologia
 
Informatica basica
Informatica basicaInformatica basica
Informatica basica
 
Lógica e algoritmos
Lógica e algoritmosLógica e algoritmos
Lógica e algoritmos
 
Aula 01 - Sistemas Operacionais - Windows 10
Aula 01 - Sistemas Operacionais - Windows 10Aula 01 - Sistemas Operacionais - Windows 10
Aula 01 - Sistemas Operacionais - Windows 10
 
Planeamento Rede
Planeamento RedePlaneamento Rede
Planeamento Rede
 
Eav audio e imersão 2
Eav audio e imersão 2Eav audio e imersão 2
Eav audio e imersão 2
 
Teclado
TecladoTeclado
Teclado
 
Virtualização - Máquinas Virtuais
Virtualização - Máquinas VirtuaisVirtualização - Máquinas Virtuais
Virtualização - Máquinas Virtuais
 
Sistemas Distribuídos - Comunicação Distribuída – Middleware
Sistemas Distribuídos - Comunicação Distribuída – MiddlewareSistemas Distribuídos - Comunicação Distribuída – Middleware
Sistemas Distribuídos - Comunicação Distribuída – Middleware
 
Internet
InternetInternet
Internet
 
Segurança dos Sistemas Operativos
Segurança dos Sistemas OperativosSegurança dos Sistemas Operativos
Segurança dos Sistemas Operativos
 
Protocolos de Redes
Protocolos de RedesProtocolos de Redes
Protocolos de Redes
 
Oficina de Introdução ao Design de Interação
Oficina de Introdução ao Design de InteraçãoOficina de Introdução ao Design de Interação
Oficina de Introdução ao Design de Interação
 

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 objetos
Né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ção
prisciladamico
 
Aula 01 introdução aoo
Aula 01   introdução aooAula 01   introdução aoo
Aula 01 introdução aoo
Maria Alice Jovinski
 
Aula 04.pdf
Aula 04.pdfAula 04.pdf
Aula 04.pdf
GreiceSilva21
 
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
Neuza Pedro
 
UML
UMLUML
2.1 introdução a oo
2.1 introdução a oo2.1 introdução a oo
2.1 introdução a oo
PAULO Moreira
 
Classes abstratas e interfaces
Classes abstratas e interfacesClasses abstratas e interfaces
Classes abstratas e interfaces
Nécio de Lima Veras
 
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
Wellington Oliveira
 
Avaliacao de Software Educativo
Avaliacao de Software EducativoAvaliacao de Software Educativo
Avaliacao de Software Educativo
silvanatsal
 
Metodologia orientado a objetos
Metodologia orientado a objetosMetodologia orientado a objetos
Metodologia orientado a objetos
Gabriel Faustino
 
Paradigmas de programação
Paradigmas de programaçãoParadigmas de programação
Paradigmas de programação
Mahayana2706
 
Powerpoint
PowerpointPowerpoint
Powerpoint
Wany Goes Dias
 
Relato Experiência Taxonomia SOLO
Relato Experiência Taxonomia SOLORelato Experiência Taxonomia SOLO
Relato Experiência Taxonomia SOLO
Camilo Almendra
 
Orientacao a Objetos
Orientacao a ObjetosOrientacao a Objetos
Orientacao a Objetos
Robson Silva Espig
 
Aula01-IntroducaoOO.pptx
Aula01-IntroducaoOO.pptxAula01-IntroducaoOO.pptx
Aula01-IntroducaoOO.pptx
Danilo Rangel Arruda Leite, Msc
 
Comp hab coordenadores
Comp hab coordenadoresComp hab coordenadores
Comp hab coordenadores
Edilson 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 objetos
Leonardo 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 final
emcp11
 
Metodologias de Design de Interação
Metodologias de Design de InteraçãoMetodologias de Design de Interação
Metodologias de Design de Interação
UTFPR
 

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 ao JavaFX
Introdução ao JavaFXIntrodução ao JavaFX
Introdução ao JavaFX
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 algoritmos
Nécio de Lima Veras
 
Teste de software
Teste de softwareTeste de software
Teste de software
Nécio de Lima Veras
 
Versionamento com git
Versionamento com gitVersionamento com git
Versionamento com git
Né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 JaCaMo
Nécio de Lima Veras
 
Jason: Componentes personalizados
Jason: Componentes personalizados Jason: Componentes personalizados
Jason: Componentes personalizados
Nécio de Lima Veras
 
Agentes inteligentes com jason
Agentes inteligentes com jasonAgentes inteligentes com jason
Agentes inteligentes com jason
Nécio de Lima Veras
 
Ambientes em Sistemas Multi-agentes
Ambientes em Sistemas Multi-agentesAmbientes em Sistemas Multi-agentes
Ambientes em Sistemas Multi-agentes
Né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 agents
Nécio de Lima Veras
 
Revisão de matemática
Revisão de matemáticaRevisão de matemática
Revisão de matemática
Né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 inteligentes
Nécio de Lima Veras
 
Notas sobre agentes inteligentes
Notas sobre agentes inteligentesNotas sobre agentes inteligentes
Notas sobre agentes inteligentes
Nécio de Lima Veras
 
Anotações do mapeamento OR
Anotações do mapeamento ORAnotações do mapeamento OR
Anotações do mapeamento OR
Nécio de Lima Veras
 
Hibernate-consultas
Hibernate-consultasHibernate-consultas
Hibernate-consultas
Nécio de Lima Veras
 
Mapeamento de herança OR
Mapeamento de herança ORMapeamento de herança OR
Mapeamento de herança OR
Nécio de Lima Veras
 
Relacionamentos do mapeamento OR
Relacionamentos do mapeamento ORRelacionamentos do mapeamento OR
Relacionamentos do mapeamento OR
Nécio de Lima Veras
 
Processos iniciais do mapeamento OR
Processos iniciais do mapeamento ORProcessos iniciais do mapeamento OR
Processos iniciais do mapeamento OR
Nécio de Lima Veras
 
Java swing
Java swingJava swing
Introdução à linguagem UML
Introdução à linguagem UMLIntrodução à linguagem UML
Introdução à linguagem UML
Né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