SlideShare uma empresa Scribd logo
1 de 46
Baixar para ler offline
Ling. de Programação
ORIENTADA A OBJETOS
 Tópicos     abordados:
     Introdução
     Metodologia - Como trabalharemos
     Revisão de conteúdo
     Programação Orientada a Objetos



   Introdução e conceito de           Interação entre objetos.
    objetos                            Documentação
   Classes e Métodos                  Pacotes.
   construtores, destrutores,         Testes e depuração.
   polimorfismo, encapsulamento,      Interface gráfica (noções).
   abstração e modularização.         Persistência de dados.
 Desenvolver   o raciocínio lógico.
 Comparar estruturas de dados e objetos
 Discutir conceitos inerentes a construção de
  algoritmos orientados a objetos
 Identificar os principais conceitos relacionados a
  orientação a objetos na linguagem de
  programação utilizada.
 Desenvolver algoritmos orientados a objetos,
  baseando-se no domínio do problema e nas
  operações que devem ser realizadas sobre ele
 Aplicar  os conceitos de orientação a objetos em uma
  linguagem de programação
 Desenvolver algoritmos orientados a objetos para
  solução de problemas
 Reconhecer       o    problema     identificando  os
  componentes para desenvolvimento de algoritmos
  orientados a objetos
 Refletir sobre os problemas e ser criativos na busca
  de soluções
 Atividades   em sala de aula
    individuais e/ou em grupo.


 Atividades   extra-classe
    individuais e/ou em grupo.


 Avaliações   em sala – 0 a 10 pontos

 Um   trabalho
    individuais e/ou em grupo.
 BlueJ
 NetBeans
 Maior capacidade de desenvolver soluções
  computacionais para problemas.
 Maior habilidade ao usar uma LP.
 Maior capacidade para escolher LPs
  apropriadas.
 Maior habilidade para aprender novas LPs .
 Maior habilidade para projetar novas LPs.
 Etapas   do Desenvolvimento de Software
    Planejamento.
    Especificação de Requisitos.
    Análise.
    Projeto.
    Implementação .
    Validação (Testes).
    Implantação.
    Manutenção.
 Aplicações  Científicas.
 Aplicações Comerciais.
 Inteligência Artificial.
 Programação de Software Básico e Ferramentas de
  Suporte a Programação.
 Linguagens de Script.
 Aplicações Web.
 Legibilidade – Facilidade para se ler e entender um
  programa.
 Redigibilidade – Facilidade de redigir um programa.
  Possibilita ao programador se concentrar nos algoritmos
  e não na linguagem
 Confiabilidade – mecanismos fornecidos pelas LPs para
  incentivar a construção de programas confiáveis.
 Tratamento de Exceções
 Eficiência – programas mais ágeis
 Facilidade de Aprendizado – programas fáceis de
  aprender
 Modificabilidade – facilidade de alteração de programas
 Reusabilidade – facilidade de reutilização de código
 Portabilidade – utilização em diferentes plataformas
O   computador é
    hardware que só entende operações muito básicas (zeros
     e uns, processadas logicamente);
 Programa    executável = coleção de instruções em
  linguagem de máquina;
 Criar programas em linguagem de máquina é
  extremamente difícil e improdutivo;
 Para facilitar
    Usamos linguagens de programação menos complexa e
     utilizamos um programa que transforme uma linguagem
     em outra: um tradutor.
 Existe   duas maneiras de se traduzir um programa:
     compilação e interpretação.
 Compilação:
   Execução mais rápida;
   Somente o executável é carregado em memória.


 Interpretação:
     Portabilidade.


 Compilação      + Interpretação = Híbrido
     Une as vantagens de ambos.
 Compilação
   Maior eficiência
   Problemas com portabilidade e depuração
   Exemplo: C
 Interpretação Pura
   Portabilidade e facilidade para depuração
   Problemas com eficiência e maior consumo de memória
   Raramente usada
 Híbrido
   Une vantagens dos outros métodos
   Exemplo: Java – o código intermediário é o bytecode e o seu
    interpretador é o JVM (Java Virtual Machine)‫‏‬
 Conceito  fundamental em LPs:
 Linguagem de máquina abstrai o hardware;
 Linguagem de alto nível abstrai a de máquina;
 Etc.
 O objetivo é escrever as soluções em termos cada
  vez mais próximos do mundo real.
                                           Solução
                                       (Computacional)
    Problema                                 0101010
  (mundo real)                             0101010
                                             1001010
                                         0101010
                                           1001010
                        Dificuldades         0101010
                                         1001010
                                           0101010
                        semânticas           1010101
                                         0101010
                                           1010101
                                         1010101
 Dentre os paradigmas existentes, a Orientação a
  Objetos destaca-se pelo nível de abstração:
 Elementos do mundo real são modelados como
  objetos no mundo computacional;
 Objetos possuem propriedades e comportamento,
  assim como no mundo real;
 O código expressa a solução em termos mais
  próximos do problema.
 As classes expressam grupos de objetos
PROGRAMAÇÃO
                            PROGRAMAÇÃO ESTRUTURADA
ORIENTADA A OBJETOS
        Métodos                  Procedimentos e Funções
 Instâncias de Variáveis                 Variáveis
       Mensagens           Chamadas a procedimentos e funções
        Classes            Tipos de Dados definidos pelo usuário
        Herança                              -
      Polimorfismo                           -
UNIDADE-SERRA
 Uma  classe é geralmente descrita como o modelo
 ou a forma a partir do qual um objeto é criado.
    Classe é um componente de programa que descreve a
     “estrutura” e o “comportamento” de um grupo de objetos
     semelhantes (CAMARÃO, 2003).

    Objeto é uma extensão do conceito de objeto no mundo
     real, em que se podem ter (relacionar) coisas tangíveis,
     um incidente (evento ou ocorrência) ou uma interação
     (transação ou contrato) (PUGA, 2003). É a criação de
     uma instância da classe (HORSTMANN, 2001).

 A cadacriação de um novo objeto pertencente a
 uma mesma classe, chamamos de instância da
 classe.
   herança em orientação a objetos representa a
    implementação da generalização.
       Herança é o compartilhamento de atributos e operações entre
        classes com base em um relacionamento hierárquico.




                                                        ESPECIALIZAÇÃO
                GENERALIZAÇÃO




                                       VEÍCULOS




        UTILITÁRIOS             PASSAGEIROS   ESPORTE      PASSEIO


   Ex: a subclasse Utilitário herda todos os atributos e operações da
    superclasse Veículos.
 Polimorfismo        significa a capacidade de assumir
    muitas formas.




   permite que um objeto assuma um comportamento diferente daquele
    definido em sua classe.
 Encapsulamento      (ocultamento de informações).
    consiste na separação entre os aspectos externos de um
     objeto, acessíveis por outros objetos.


 Mensagens      e métodos
    As operações (serviços) que um objeto oferece são
     chamadas de métodos. A solicitação de operações entre
     objetos é feita através de mensagens.


 Com  o encapsulamento, não é permitido acessar
 diretamente as propriedades de um objeto, é preciso
 operar por meio de métodos
 Cite
     3 propriedades desejáveis em linguagens de
 programação.

 Em que campos de trabalho podemos utilizar as
 linguagens de programação.

 Expliquecom suas palavras o que voce entendeu
 sobre tradução híbrida.

O   que é uma classe?

O   que é herança?
 Uma   linguagem de programação;

 Um   software distribuído pela Sun Microsystems;

 Uma   ilha da Indonésia.

 Mantida   por uma comunidade.
 Uma  especificação criada pela SUN, entretanto a
 linguagem Java é Mantida pelo Java Comunity
 Proccess (JCP) que reune experts em Java,
 empresas e universidades que por meio de
 processos democráticos definem a evolução da
 linguagem.
 Linguagem     concebida para a utilização em
  pequenos dispositivos eletrônicos.
 Em 1995, a Sun anuncia o Java como uma nova
  plataforma de desenvolvimento.
 Java, graças a um café;
 Nascem as Applets, Java é incluída no Netscape,
  disponibilizada ao público e deslancha;
 Java hoje é utilizada em diversas áreas, desde
  aplicativos corporativos, controle de servidores www
  etc.
 Java fará 15 anos em 2010.
 Facilidade  de aprendizado;
 Legibilidade;
 Redigibilidade;
 Confiabilidade;
 Eficiência;
 Código reutilizável;
 Flexibilidade;
 Plataforma   = SO + Hardware:
  Windows + PC (Intel / AMD);
  Linux + PC;
  MacOS X + Macintosh.
 Javasitua-se um nível acima do SO, formando uma
 nova plataforma de computação:
  Portável;
  Baseada na Máquina Virtual Java (JVM);
  Linguagem Java é a parte central da plataforma.
 Por   que Java?
     Uma das linguagens OO mais usadas;
 Características   de Java:
     Simples, porém versátil, robusta e muito segura;
     Portável (independente de sistema operacional);
     Gratuita e com código disponível para consulta;
     Popular, rodeada por uma comunidade muito ativa;
     De alta aceitação e com suporte da indústria;
     Muitas ferramentas disponíveis;
     Muita documentação disponível.
 Orientada  a Objetos.
 Multithreading.
 Suporte a comunicação.
 Acesso remoto a banco de dados.
 Baseada em C++:
  Sintaxe semelhante;
  Porém mais simples.
 Portabilidade   (multiplataforma):
    Compilação para bytecode e interpretação na JVM;
 Confiável:
   Verificações na compilação e execução;
   Não há aritmética de ponteiros, que são tratados como
    referências a objetos;
   A gerência de memória é feita pela JVM (coletor de lixo),
    facilitando a tarefa do programador.


 Dinâmica:
     Classes são carregadas sob demanda (class loader).
 Projetada     para ambientes distribuídos:
     Suporte de alto nível para construção de aplicações em
      rede (sockets, RMI, etc.);
 Segura:
   Verificações em tempo de execução;
   Verificação de bytecode;

 Possui     bom desempenho:
     Linguagens híbridas não têm o mesmo desempenho de
      linguagens compiladas;
     No entanto, existem diversas otimizações, com melhorias a
      cada nova versão;
 Facilita   a programação concorrente:
     Dispõe de elementos que facilitam a programação de
      sistemas com uso intensivo de threads paralelas.
Código Java
Ambiente

de Desenvolvimento      Compilador



Distribuição           Byte Code Java




     VM Linux           VM Microsoft    VM Celular



     SO Linux           SO Microsoft    SO Celular

Ambiente de Execução
 Java   é distribuída em três edições:

    Java Standard Edition (Java SE);


    Java Enterprise Edition (Java EE);


    Java Mobile Edition (Java ME).
 Ferramentas de desenvolvimento e API núcleo da
 plataforma (base para as demais);

 Permiteo desenvolvimento de aplicações desktop,
 com interface gráfica, acesso à bancos de dados,
 I/O, acesso à rede, etc.;

 Dividida   em:
   JDK = Java Development Kit;
   JRE = Java Runtime Environment.
 Somente    para programadores;
 Contém:
    Ferramentas de desenvolvimento;
    Ambiente de execução (JRE);
    API Java SE (compilada e código-fonte);
    Programas de demonstração;
    Bibliotecas adicionais;
    Documentação (obtida separadamente).
 Necessária   para rodar programas Java (bytecodes
  compilados);
 É a única parte da plataforma Java que os clientes
  precisam instalar;
 Em alguns SOs já vem instalada (ex.: MacOS X);
 A Sun provê suporte oficial às plataformas Windows,
  Solaris e Linux;
 Há suporte não-oficial a diversas outras plataformas
  (a Apple suporta a plataforma Mac).
 AWT/Swing: interfaces gráficas;
 JDBC: acesso a bancos de dados;
 JNDI: acesso a servidores de nomes;
 RMI: invocação remota de métodos ;
 I/O: entrada e saída (arquivos);
 Math: cálculos matemáticos;
 Networking: transmissão de dados via rede;
 Security: segurança;
 Serialization: persistência por serialização;
 XML: processamento de XML e afins;
 Lang & Util: núcleo da linguagem, utilitários;
 Concurrency: programação concorrente;
 Permite  o desenvolvimento de aplicações
  corporativas:
 Multi-camadas, distribuídas, centradas em
  servidores,
 altamente robustas, estáveis e escaláveis.
 Inclui as especificações para desenvolvimento Web:
  Servlets, JSP, Web Services, JSF, etc.;
 Componentes gerenciados integrados a outras
  tecnologias Java EE para prover acesso remoto,
  persistência e transações transparentes, etc.
 RMI/IIOP e Java IDL: conectividade;
 JTA: transações em bancos de dados;
 JMS e JavaMail: envio de mensagens;
 Permite o desenvolvimento de aplicações para
 dispositivos móveis:
  Telefones celulares;
  PDAs (Palm, iPaq, etc.);
  Dispositivos embarcados (embedded);
  Etc.
 JavaCard: aplicações para Smart Cards e outros
 dispositivos muito limitados.

Mais conteúdo relacionado

Mais procurados

Conceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDConceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDVinicius Buffolo
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetosCleyton Ferrari
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POODaniel Brandão
 
Algoritmos 1 - Semana 2
Algoritmos 1 - Semana 2Algoritmos 1 - Semana 2
Algoritmos 1 - Semana 2Eder Samaniego
 
Uml Diagramas Estruturais
Uml   Diagramas EstruturaisUml   Diagramas Estruturais
Uml Diagramas Estruturaisthaisedd
 
Aula 01 - JavaScript: Introdução
Aula 01 - JavaScript: IntroduçãoAula 01 - JavaScript: Introdução
Aula 01 - JavaScript: IntroduçãoJessyka Lage
 
Engenharia de Requisitos
Engenharia de RequisitosEngenharia de Requisitos
Engenharia de RequisitosCloves da Rocha
 
Java orientação a objetos (associacao, composicao, agregacao)
Java   orientação a objetos (associacao, composicao, agregacao)Java   orientação a objetos (associacao, composicao, agregacao)
Java orientação a objetos (associacao, composicao, agregacao)Armando Daniel
 
Introdução a poo
Introdução a pooIntrodução a poo
Introdução a pooSedu
 
UML - Criando Diagramas Eficientes
UML - Criando Diagramas EficientesUML - Criando Diagramas Eficientes
UML - Criando Diagramas EficientesRodrigo Cascarrolho
 
POO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a ObjetosPOO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a ObjetosLudimila Monjardim Casagrande
 
Apostila de Fundamentos Java
Apostila de Fundamentos JavaApostila de Fundamentos Java
Apostila de Fundamentos JavaMarcio Marinho
 
Linguagem de Programação Java para Iniciantes
Linguagem de Programação Java para IniciantesLinguagem de Programação Java para Iniciantes
Linguagem de Programação Java para IniciantesOziel Moreira Neto
 
Curso Java Básico - Aula 01
Curso Java Básico - Aula 01Curso Java Básico - Aula 01
Curso Java Básico - Aula 01Natanael Fonseca
 
Aula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPAula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPDaniel Brandão
 

Mais procurados (20)

Conceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDConceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBD
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POO
 
Diagrama de sequência
Diagrama de sequênciaDiagrama de sequência
Diagrama de sequência
 
Uml
UmlUml
Uml
 
Algoritmos 1 - Semana 2
Algoritmos 1 - Semana 2Algoritmos 1 - Semana 2
Algoritmos 1 - Semana 2
 
Uml Diagramas Estruturais
Uml   Diagramas EstruturaisUml   Diagramas Estruturais
Uml Diagramas Estruturais
 
Aula 01 - JavaScript: Introdução
Aula 01 - JavaScript: IntroduçãoAula 01 - JavaScript: Introdução
Aula 01 - JavaScript: Introdução
 
Engenharia de Requisitos
Engenharia de RequisitosEngenharia de Requisitos
Engenharia de Requisitos
 
Java orientação a objetos (associacao, composicao, agregacao)
Java   orientação a objetos (associacao, composicao, agregacao)Java   orientação a objetos (associacao, composicao, agregacao)
Java orientação a objetos (associacao, composicao, agregacao)
 
Introdução a poo
Introdução a pooIntrodução a poo
Introdução a poo
 
UML - Criando Diagramas Eficientes
UML - Criando Diagramas EficientesUML - Criando Diagramas Eficientes
UML - Criando Diagramas Eficientes
 
POO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a ObjetosPOO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a Objetos
 
Aula03 - JavaScript
Aula03 - JavaScriptAula03 - JavaScript
Aula03 - JavaScript
 
Apostila de Fundamentos Java
Apostila de Fundamentos JavaApostila de Fundamentos Java
Apostila de Fundamentos Java
 
Programação Orientado a Objetos
Programação Orientado a ObjetosProgramação Orientado a Objetos
Programação Orientado a Objetos
 
Linguagem de Programação Java para Iniciantes
Linguagem de Programação Java para IniciantesLinguagem de Programação Java para Iniciantes
Linguagem de Programação Java para Iniciantes
 
Curso Java Básico - Aula 01
Curso Java Básico - Aula 01Curso Java Básico - Aula 01
Curso Java Básico - Aula 01
 
Aula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPAula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHP
 
Diagrama de Classes
Diagrama de ClassesDiagrama de Classes
Diagrama de Classes
 

Destaque

CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃO
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃOCURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃO
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃOMicrosoft
 
Curso Java Basico
Curso Java BasicoCurso Java Basico
Curso Java BasicoJoel Lobo
 
Introdução ao JAVA (linguagem de programação WEB)
Introdução ao JAVA (linguagem de programação WEB)Introdução ao JAVA (linguagem de programação WEB)
Introdução ao JAVA (linguagem de programação WEB)Luis Borges Gouveia
 
Linguagem Java - Conceitos e Técnicas
Linguagem Java - Conceitos e TécnicasLinguagem Java - Conceitos e Técnicas
Linguagem Java - Conceitos e TécnicasBreno Vitorino
 
Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Natanael Fonseca
 
Introdução a Orientaçãoo a Objetos
Introdução a Orientaçãoo a ObjetosIntrodução a Orientaçãoo a Objetos
Introdução a Orientaçãoo a ObjetosFernando Machado
 
Introdução a Linguagem Java
Introdução a Linguagem JavaIntrodução a Linguagem Java
Introdução a Linguagem JavaUFPA
 
Apresentação java
Apresentação javaApresentação java
Apresentação javamunosai
 
Aula 1 - Introdução a linguagem JAVA SE
Aula 1 - Introdução a linguagem JAVA SEAula 1 - Introdução a linguagem JAVA SE
Aula 1 - Introdução a linguagem JAVA SEEvandro Júnior
 
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVAProgramação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVACristiano Almeida
 
Classes Java , JDBC / Swing / Collections
Classes Java , JDBC / Swing / Collections Classes Java , JDBC / Swing / Collections
Classes Java , JDBC / Swing / Collections Eduardo Carvalho
 
Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1engenhariadecomputacao
 
Programação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaProgramação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaÁlvaro Farias Pinheiro
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem Capolllorj
 

Destaque (19)

CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃO
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃOCURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃO
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃO
 
Curso Java Basico
Curso Java BasicoCurso Java Basico
Curso Java Basico
 
Introdução ao JAVA (linguagem de programação WEB)
Introdução ao JAVA (linguagem de programação WEB)Introdução ao JAVA (linguagem de programação WEB)
Introdução ao JAVA (linguagem de programação WEB)
 
Linguagem Java - Conceitos e Técnicas
Linguagem Java - Conceitos e TécnicasLinguagem Java - Conceitos e Técnicas
Linguagem Java - Conceitos e Técnicas
 
Apostila java completo
Apostila java completoApostila java completo
Apostila java completo
 
Curso Java Basico
Curso Java BasicoCurso Java Basico
Curso Java Basico
 
Logica Programação. ...
Logica Programação. ...Logica Programação. ...
Logica Programação. ...
 
Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Curso Java Básico - Aula 03
Curso Java Básico - Aula 03
 
Introdução a Orientaçãoo a Objetos
Introdução a Orientaçãoo a ObjetosIntrodução a Orientaçãoo a Objetos
Introdução a Orientaçãoo a Objetos
 
Introdução a Linguagem Java
Introdução a Linguagem JavaIntrodução a Linguagem Java
Introdução a Linguagem Java
 
Apresentação java
Apresentação javaApresentação java
Apresentação java
 
Aula 1 - Introdução a linguagem JAVA SE
Aula 1 - Introdução a linguagem JAVA SEAula 1 - Introdução a linguagem JAVA SE
Aula 1 - Introdução a linguagem JAVA SE
 
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVAProgramação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVA
 
Classes Java , JDBC / Swing / Collections
Classes Java , JDBC / Swing / Collections Classes Java , JDBC / Swing / Collections
Classes Java , JDBC / Swing / Collections
 
Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1
 
Programação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaProgramação Orientada a Objetos com Java
Programação Orientada a Objetos com Java
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem C
 
Curso de Java #05 - Swing e JavaFX
Curso de Java #05 - Swing e JavaFXCurso de Java #05 - Swing e JavaFX
Curso de Java #05 - Swing e JavaFX
 
Fundamentos do java
Fundamentos do javaFundamentos do java
Fundamentos do java
 

Semelhante a Aula de Introdução - JAVA

3 oo-concepts
3 oo-concepts3 oo-concepts
3 oo-conceptsjorge600
 
Poo apostila visual c
Poo apostila visual cPoo apostila visual c
Poo apostila visual cFabiano Lima
 
Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Luis Ferreira
 
Apresentação curso de Extensão em Java (UERJ-IME) v1
Apresentação curso de Extensão em Java (UERJ-IME) v1Apresentação curso de Extensão em Java (UERJ-IME) v1
Apresentação curso de Extensão em Java (UERJ-IME) v1Marcelo Zeferino
 
Net uma revisão sobre a programação orientada a objetos
Net   uma revisão sobre a programação orientada a objetosNet   uma revisão sobre a programação orientada a objetos
Net uma revisão sobre a programação orientada a objetosLP Maquinas
 
Slides 02 - Orientacao a Objetos.pdf
Slides 02 - Orientacao a Objetos.pdfSlides 02 - Orientacao a Objetos.pdf
Slides 02 - Orientacao a Objetos.pdfJadna Almeida
 
Padroes De Projeto
Padroes De ProjetoPadroes De Projeto
Padroes De Projetoejdn1
 
DDD e PHP - TDC 2012
DDD e PHP - TDC 2012DDD e PHP - TDC 2012
DDD e PHP - TDC 2012Luís Cobucci
 
Paradigma de orientação a objetos -
Paradigma de orientação a objetos - Paradigma de orientação a objetos -
Paradigma de orientação a objetos - André Victor
 
Logica de Programação Vitor Jose de Souza.pptx
Logica de Programação Vitor Jose de Souza.pptxLogica de Programação Vitor Jose de Souza.pptx
Logica de Programação Vitor Jose de Souza.pptxJoseVitorSantanadeMe
 
01 Orientacao A Objetos Programacao
01   Orientacao A Objetos   Programacao01   Orientacao A Objetos   Programacao
01 Orientacao A Objetos Programacaotaniamaciel
 
Modelagem de sistemas
Modelagem de sistemasModelagem de sistemas
Modelagem de sistemassauloroos01
 

Semelhante a Aula de Introdução - JAVA (20)

3 oo-concepts
3 oo-concepts3 oo-concepts
3 oo-concepts
 
3 oo-concepts
3 oo-concepts3 oo-concepts
3 oo-concepts
 
Poo apostila visual c
Poo apostila visual cPoo apostila visual c
Poo apostila visual c
 
Poo frank
Poo frankPoo frank
Poo frank
 
Domain-Driven Design
Domain-Driven DesignDomain-Driven Design
Domain-Driven Design
 
Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos
 
Sld 4
Sld 4Sld 4
Sld 4
 
Apresentação curso de Extensão em Java (UERJ-IME) v1
Apresentação curso de Extensão em Java (UERJ-IME) v1Apresentação curso de Extensão em Java (UERJ-IME) v1
Apresentação curso de Extensão em Java (UERJ-IME) v1
 
Domain-Driven Design
Domain-Driven DesignDomain-Driven Design
Domain-Driven Design
 
Net uma revisão sobre a programação orientada a objetos
Net   uma revisão sobre a programação orientada a objetosNet   uma revisão sobre a programação orientada a objetos
Net uma revisão sobre a programação orientada a objetos
 
Slides 02 - Orientacao a Objetos.pdf
Slides 02 - Orientacao a Objetos.pdfSlides 02 - Orientacao a Objetos.pdf
Slides 02 - Orientacao a Objetos.pdf
 
Padroes De Projeto
Padroes De ProjetoPadroes De Projeto
Padroes De Projeto
 
DDD e PHP - TDC 2012
DDD e PHP - TDC 2012DDD e PHP - TDC 2012
DDD e PHP - TDC 2012
 
Treinamento DDD .Net
Treinamento DDD .NetTreinamento DDD .Net
Treinamento DDD .Net
 
Orientacao a Objetos
Orientacao a ObjetosOrientacao a Objetos
Orientacao a Objetos
 
Paradigma de orientação a objetos -
Paradigma de orientação a objetos - Paradigma de orientação a objetos -
Paradigma de orientação a objetos -
 
Análise de sistemas oo 1
Análise de sistemas oo   1Análise de sistemas oo   1
Análise de sistemas oo 1
 
Logica de Programação Vitor Jose de Souza.pptx
Logica de Programação Vitor Jose de Souza.pptxLogica de Programação Vitor Jose de Souza.pptx
Logica de Programação Vitor Jose de Souza.pptx
 
01 Orientacao A Objetos Programacao
01   Orientacao A Objetos   Programacao01   Orientacao A Objetos   Programacao
01 Orientacao A Objetos Programacao
 
Modelagem de sistemas
Modelagem de sistemasModelagem de sistemas
Modelagem de sistemas
 

Último

Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfFrancisco Márcio Bezerra Oliveira
 
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2Maria Teresa Thomaz
 
Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?AnabelaGuerreiro7
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...azulassessoria9
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéisines09cachapa
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfprofesfrancleite
 
Introdução a Caminhada do Interior......
Introdução a Caminhada do Interior......Introdução a Caminhada do Interior......
Introdução a Caminhada do Interior......suporte24hcamin
 
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇJaineCarolaineLima
 
INTERVENÇÃO PARÁ - Formação de Professor
INTERVENÇÃO PARÁ - Formação de ProfessorINTERVENÇÃO PARÁ - Formação de Professor
INTERVENÇÃO PARÁ - Formação de ProfessorEdvanirCosta
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números Mary Alvarenga
 
3-Livro-Festa-no-céu-Angela-Lago.pdf-·-versão-1.pdf
3-Livro-Festa-no-céu-Angela-Lago.pdf-·-versão-1.pdf3-Livro-Festa-no-céu-Angela-Lago.pdf-·-versão-1.pdf
3-Livro-Festa-no-céu-Angela-Lago.pdf-·-versão-1.pdfBlendaLima1
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfLeloIurk1
 
Historia da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfHistoria da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfEmanuel Pio
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfHELENO FAVACHO
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxLuizHenriquedeAlmeid6
 
Araribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medioAraribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medioDomingasMariaRomao
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...IsabelPereira2010
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdfLeloIurk1
 

Último (20)

Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
 
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
 
Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéis
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
 
Introdução a Caminhada do Interior......
Introdução a Caminhada do Interior......Introdução a Caminhada do Interior......
Introdução a Caminhada do Interior......
 
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
 
INTERVENÇÃO PARÁ - Formação de Professor
INTERVENÇÃO PARÁ - Formação de ProfessorINTERVENÇÃO PARÁ - Formação de Professor
INTERVENÇÃO PARÁ - Formação de Professor
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números
 
3-Livro-Festa-no-céu-Angela-Lago.pdf-·-versão-1.pdf
3-Livro-Festa-no-céu-Angela-Lago.pdf-·-versão-1.pdf3-Livro-Festa-no-céu-Angela-Lago.pdf-·-versão-1.pdf
3-Livro-Festa-no-céu-Angela-Lago.pdf-·-versão-1.pdf
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
 
Historia da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfHistoria da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdf
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
 
Araribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medioAraribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medio
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
 

Aula de Introdução - JAVA

  • 2.  Tópicos abordados:  Introdução  Metodologia - Como trabalharemos  Revisão de conteúdo  Programação Orientada a Objetos  Introdução e conceito de  Interação entre objetos. objetos  Documentação  Classes e Métodos  Pacotes.  construtores, destrutores,  Testes e depuração.  polimorfismo, encapsulamento,  Interface gráfica (noções).  abstração e modularização.  Persistência de dados.
  • 3.  Desenvolver o raciocínio lógico.  Comparar estruturas de dados e objetos  Discutir conceitos inerentes a construção de algoritmos orientados a objetos  Identificar os principais conceitos relacionados a orientação a objetos na linguagem de programação utilizada.  Desenvolver algoritmos orientados a objetos, baseando-se no domínio do problema e nas operações que devem ser realizadas sobre ele
  • 4.  Aplicar os conceitos de orientação a objetos em uma linguagem de programação  Desenvolver algoritmos orientados a objetos para solução de problemas  Reconhecer o problema identificando os componentes para desenvolvimento de algoritmos orientados a objetos  Refletir sobre os problemas e ser criativos na busca de soluções
  • 5.  Atividades em sala de aula  individuais e/ou em grupo.  Atividades extra-classe  individuais e/ou em grupo.  Avaliações em sala – 0 a 10 pontos  Um trabalho  individuais e/ou em grupo.
  • 8.  Maior capacidade de desenvolver soluções computacionais para problemas.  Maior habilidade ao usar uma LP.  Maior capacidade para escolher LPs apropriadas.  Maior habilidade para aprender novas LPs .  Maior habilidade para projetar novas LPs.
  • 9.  Etapas do Desenvolvimento de Software  Planejamento.  Especificação de Requisitos.  Análise.  Projeto.  Implementação .  Validação (Testes).  Implantação.  Manutenção.
  • 10.  Aplicações Científicas.  Aplicações Comerciais.  Inteligência Artificial.  Programação de Software Básico e Ferramentas de Suporte a Programação.  Linguagens de Script.  Aplicações Web.
  • 11.  Legibilidade – Facilidade para se ler e entender um programa.  Redigibilidade – Facilidade de redigir um programa. Possibilita ao programador se concentrar nos algoritmos e não na linguagem  Confiabilidade – mecanismos fornecidos pelas LPs para incentivar a construção de programas confiáveis.  Tratamento de Exceções  Eficiência – programas mais ágeis  Facilidade de Aprendizado – programas fáceis de aprender  Modificabilidade – facilidade de alteração de programas  Reusabilidade – facilidade de reutilização de código  Portabilidade – utilização em diferentes plataformas
  • 12. O computador é  hardware que só entende operações muito básicas (zeros e uns, processadas logicamente);  Programa executável = coleção de instruções em linguagem de máquina;  Criar programas em linguagem de máquina é extremamente difícil e improdutivo;  Para facilitar  Usamos linguagens de programação menos complexa e utilizamos um programa que transforme uma linguagem em outra: um tradutor.
  • 13.  Existe duas maneiras de se traduzir um programa:  compilação e interpretação.
  • 14.
  • 15.  Compilação:  Execução mais rápida;  Somente o executável é carregado em memória.  Interpretação:  Portabilidade.  Compilação + Interpretação = Híbrido  Une as vantagens de ambos.
  • 16.
  • 17.  Compilação  Maior eficiência  Problemas com portabilidade e depuração  Exemplo: C  Interpretação Pura  Portabilidade e facilidade para depuração  Problemas com eficiência e maior consumo de memória  Raramente usada  Híbrido  Une vantagens dos outros métodos  Exemplo: Java – o código intermediário é o bytecode e o seu interpretador é o JVM (Java Virtual Machine)‫‏‬
  • 18.  Conceito fundamental em LPs:  Linguagem de máquina abstrai o hardware;  Linguagem de alto nível abstrai a de máquina;  Etc.  O objetivo é escrever as soluções em termos cada vez mais próximos do mundo real. Solução (Computacional) Problema 0101010 (mundo real) 0101010 1001010 0101010 1001010 Dificuldades 0101010 1001010 0101010 semânticas 1010101 0101010 1010101 1010101
  • 19.  Dentre os paradigmas existentes, a Orientação a Objetos destaca-se pelo nível de abstração:  Elementos do mundo real são modelados como objetos no mundo computacional;  Objetos possuem propriedades e comportamento, assim como no mundo real;  O código expressa a solução em termos mais próximos do problema.  As classes expressam grupos de objetos
  • 20. PROGRAMAÇÃO PROGRAMAÇÃO ESTRUTURADA ORIENTADA A OBJETOS Métodos Procedimentos e Funções Instâncias de Variáveis Variáveis Mensagens Chamadas a procedimentos e funções Classes Tipos de Dados definidos pelo usuário Herança - Polimorfismo -
  • 22.  Uma classe é geralmente descrita como o modelo ou a forma a partir do qual um objeto é criado.  Classe é um componente de programa que descreve a “estrutura” e o “comportamento” de um grupo de objetos semelhantes (CAMARÃO, 2003).  Objeto é uma extensão do conceito de objeto no mundo real, em que se podem ter (relacionar) coisas tangíveis, um incidente (evento ou ocorrência) ou uma interação (transação ou contrato) (PUGA, 2003). É a criação de uma instância da classe (HORSTMANN, 2001).  A cadacriação de um novo objeto pertencente a uma mesma classe, chamamos de instância da classe.
  • 23. herança em orientação a objetos representa a implementação da generalização.  Herança é o compartilhamento de atributos e operações entre classes com base em um relacionamento hierárquico. ESPECIALIZAÇÃO GENERALIZAÇÃO VEÍCULOS UTILITÁRIOS PASSAGEIROS ESPORTE PASSEIO  Ex: a subclasse Utilitário herda todos os atributos e operações da superclasse Veículos.
  • 24.  Polimorfismo significa a capacidade de assumir muitas formas.  permite que um objeto assuma um comportamento diferente daquele definido em sua classe.
  • 25.  Encapsulamento (ocultamento de informações).  consiste na separação entre os aspectos externos de um objeto, acessíveis por outros objetos.  Mensagens e métodos  As operações (serviços) que um objeto oferece são chamadas de métodos. A solicitação de operações entre objetos é feita através de mensagens.  Com o encapsulamento, não é permitido acessar diretamente as propriedades de um objeto, é preciso operar por meio de métodos
  • 26.  Cite 3 propriedades desejáveis em linguagens de programação.  Em que campos de trabalho podemos utilizar as linguagens de programação.  Expliquecom suas palavras o que voce entendeu sobre tradução híbrida. O que é uma classe? O que é herança?
  • 27.
  • 28.  Uma linguagem de programação;  Um software distribuído pela Sun Microsystems;  Uma ilha da Indonésia.  Mantida por uma comunidade.
  • 29.  Uma especificação criada pela SUN, entretanto a linguagem Java é Mantida pelo Java Comunity Proccess (JCP) que reune experts em Java, empresas e universidades que por meio de processos democráticos definem a evolução da linguagem.
  • 30.  Linguagem concebida para a utilização em pequenos dispositivos eletrônicos.  Em 1995, a Sun anuncia o Java como uma nova plataforma de desenvolvimento.  Java, graças a um café;  Nascem as Applets, Java é incluída no Netscape, disponibilizada ao público e deslancha;  Java hoje é utilizada em diversas áreas, desde aplicativos corporativos, controle de servidores www etc.  Java fará 15 anos em 2010.
  • 31.  Facilidade de aprendizado;  Legibilidade;  Redigibilidade;  Confiabilidade;  Eficiência;  Código reutilizável;  Flexibilidade;
  • 32.  Plataforma = SO + Hardware:  Windows + PC (Intel / AMD);  Linux + PC;  MacOS X + Macintosh.  Javasitua-se um nível acima do SO, formando uma nova plataforma de computação:  Portável;  Baseada na Máquina Virtual Java (JVM);  Linguagem Java é a parte central da plataforma.
  • 33.  Por que Java?  Uma das linguagens OO mais usadas;  Características de Java:  Simples, porém versátil, robusta e muito segura;  Portável (independente de sistema operacional);  Gratuita e com código disponível para consulta;  Popular, rodeada por uma comunidade muito ativa;  De alta aceitação e com suporte da indústria;  Muitas ferramentas disponíveis;  Muita documentação disponível.
  • 34.  Orientada a Objetos.  Multithreading.  Suporte a comunicação.  Acesso remoto a banco de dados.  Baseada em C++:  Sintaxe semelhante;  Porém mais simples.  Portabilidade (multiplataforma):  Compilação para bytecode e interpretação na JVM;
  • 35.  Confiável:  Verificações na compilação e execução;  Não há aritmética de ponteiros, que são tratados como referências a objetos;  A gerência de memória é feita pela JVM (coletor de lixo), facilitando a tarefa do programador.  Dinâmica:  Classes são carregadas sob demanda (class loader).
  • 36.  Projetada para ambientes distribuídos:  Suporte de alto nível para construção de aplicações em rede (sockets, RMI, etc.);  Segura:  Verificações em tempo de execução;  Verificação de bytecode;  Possui bom desempenho:  Linguagens híbridas não têm o mesmo desempenho de linguagens compiladas;  No entanto, existem diversas otimizações, com melhorias a cada nova versão;  Facilita a programação concorrente:  Dispõe de elementos que facilitam a programação de sistemas com uso intensivo de threads paralelas.
  • 37.
  • 38. Código Java Ambiente de Desenvolvimento Compilador Distribuição Byte Code Java VM Linux VM Microsoft VM Celular SO Linux SO Microsoft SO Celular Ambiente de Execução
  • 39.  Java é distribuída em três edições:  Java Standard Edition (Java SE);  Java Enterprise Edition (Java EE);  Java Mobile Edition (Java ME).
  • 40.  Ferramentas de desenvolvimento e API núcleo da plataforma (base para as demais);  Permiteo desenvolvimento de aplicações desktop, com interface gráfica, acesso à bancos de dados, I/O, acesso à rede, etc.;  Dividida em:  JDK = Java Development Kit;  JRE = Java Runtime Environment.
  • 41.  Somente para programadores;  Contém:  Ferramentas de desenvolvimento;  Ambiente de execução (JRE);  API Java SE (compilada e código-fonte);  Programas de demonstração;  Bibliotecas adicionais;  Documentação (obtida separadamente).
  • 42.  Necessária para rodar programas Java (bytecodes compilados);  É a única parte da plataforma Java que os clientes precisam instalar;  Em alguns SOs já vem instalada (ex.: MacOS X);  A Sun provê suporte oficial às plataformas Windows, Solaris e Linux;  Há suporte não-oficial a diversas outras plataformas (a Apple suporta a plataforma Mac).
  • 43.
  • 44.  AWT/Swing: interfaces gráficas;  JDBC: acesso a bancos de dados;  JNDI: acesso a servidores de nomes;  RMI: invocação remota de métodos ;  I/O: entrada e saída (arquivos);  Math: cálculos matemáticos;  Networking: transmissão de dados via rede;  Security: segurança;  Serialization: persistência por serialização;  XML: processamento de XML e afins;  Lang & Util: núcleo da linguagem, utilitários;  Concurrency: programação concorrente;
  • 45.  Permite o desenvolvimento de aplicações corporativas:  Multi-camadas, distribuídas, centradas em servidores,  altamente robustas, estáveis e escaláveis.  Inclui as especificações para desenvolvimento Web: Servlets, JSP, Web Services, JSF, etc.;  Componentes gerenciados integrados a outras tecnologias Java EE para prover acesso remoto, persistência e transações transparentes, etc.  RMI/IIOP e Java IDL: conectividade;  JTA: transações em bancos de dados;  JMS e JavaMail: envio de mensagens;
  • 46.  Permite o desenvolvimento de aplicações para dispositivos móveis:  Telefones celulares;  PDAs (Palm, iPaq, etc.);  Dispositivos embarcados (embedded);  Etc.  JavaCard: aplicações para Smart Cards e outros dispositivos muito limitados.