Universidade Federal do Pampa Programação Orientada a Objetos ● Criação e utilização de objetos – Software ● Na estrutura interna das classes utiliza-se a programação estruturada ● Programação estruturada – orientada por funções, procedimentos (estruturas algorítmicas) ● Programação Orientada a Objetos (POO) – orientada por objetos, classes (conceitos) POO ● Linguagens de programação orientada a objetos – Java, C++, Smalltalk, Eiffel ● Linguagens – Linguagem de máquina: depende da máquina – Linguagem Assembly: utilização de mnemônicos (abreviações) de operações elementares – Linguagens de Alto Nível: instruções em alto nível que realizam tarefas substanciais POO ● Linguagens de Alto Nível – Necessitam de um tradutor (compilador) para transformar em código de máquina ● Interpretadores – Instruções em alto nível são executadas diretamente a partir da linguagem. ● Java: utiliza uma mistura de interpretação e compilação Java - Histórico ● Java → C++ → C → B → BCPL ● C++: extensão do C para OO. Início dos anos 80. Híbrida (estruturada e OO) ● C: surgiu em 1972, a partir do B e BCPL. Foi utilizada na criação do UNIX ● B: criação do UNIX (no Bell Laboratories) ● BCPL: 1967 ● Java: projeto Green (1991) gerou a linguagem Oak (J. Gosling), que depois virou Java. Em 1993 com a popularidade da WWW, a equipe viu o potencial do Java para adicionar conteúdo dinâmico às páginas Web. Em 1995 Sun anunciou o Java oficialmente. Java ● Utilizado para – Desenvolver aplicativos corporativos de grande porte – Aprimorar funcionalidade de servidor Web – Fornecer aplicativos para dispositivos de consumo popular (celular, pagers, PDA) ● Biblioteca Java – Classes: programadores constroem aplicativos com base em classes. Classes incluem operações e atributos. Java ● API do Java: – Ricas coleções de classes existentes – API – application programming interfaces ● Java possui dois aspectos – A própria linguagem: para programação de suas próprias classes – Biblioteca do Java: reuso de classes já existentes (não reinventar a roda) Ambiente Típico de Desenvolvimento Java ● 5 Fases – Edição: .java – Compilação: .class – Carga: carregador de classe – Verificação: restrições de segurança – Execução: JVM ● Java é portável – Execução de bytecodes – bytecodes não são dependentes de uma plataforma em particular JVM (Java Virtual Machine) ● JVM – as primeiras versões interpretavam os programas (.class) um bytecode por vez – Lenta – As JVMs atuais utilizam uma combinação de interpretação com a chamada compilação just-in- time (JIT) – JVM procura por hot spots (pontos ativos), que são partes dos bytecodes que executam com freqüência, e para estas partes, um compilador JIT (compilador Java Hot Spot) traduz os bytecodes para o código de máquina JVM ● Programas Java passam, então, por duas fases de compilação – Tradução do código fonte para bytecodes (arquivos .class) – para a portabilidade entre JVM para diferentes arquiteturas – máquinas) – Durante a execução, bytecodes para código de máquina (dependente da arquitetura) – para execução mais rápida. Primeiro Programa Java ● Nomes das classes: iniciam com letras maiúsculas (por convenção), seguidas por letras, dígitos, _, $ ● Nome da classe: utiliza-se o mesmo nome para o arquivo da classe, com a extensão .java ● public static void main( String args[] ): método principal que inicia a execução de aplicativos Java ● System.out: objeto de saída padrão. public class Welcome1 { // método principal inicia a execução do aplicativo Java public static void main( String args[] ) { System.out.println( "Welcome to Java Programming!" );
} // fim do método principal
} // fim da classe Welcome1
Exemplos em anexo ... ● System.in: objeto de entrada padrão ● Scanner: surgiu nas versões mais atuais; permite a um programa ler dados (por exemplo, a partir do teclado) para utilização ● Import: indica para o compilador que uma classe será utilizada (normalmente uma classe predefinida da API do Java, ou mesmo classes do programador) – import java.util.Scanner ● java.util – pacote ● Scanner - classe Exemplos em anexo ... ● Pacote java.lang: é sempre importado em qualquer programa Java ● Documentação da API do Java – On-line: java.sun.com/j2se/5.0/docs/api – Download: java.sun.com/j2se/5.0/download.jsp Tipos Primitivos do Java ● boolean ● byte ● char ● short ● int ● long ● float ● double Operadores do Java ● Aritméticos ● *, /, % ● +, - ● Relacionais e de Igualdade ● ==, != ● >, <, >=, <= Caracteres especiais ● Caracteres especiais do Java para serem inseridos em Strings – \n – \t – \r – \\ – \”