Programação Orientada a Objetos - 001

672 views

Published on

Aula 1 - Programação Orientada a Objetos

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
672
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Programação Orientada a Objetos - 001

  1. 1. Professor Dal Prá Programação Orientada a Objetos
  2. 2. Professor Dal Prá Quem é o professor ? • José Volmei Dal Prá Junior – Analista de sistemas da CooperAlfa • Trabalhamos com – Progress – Java – Qualquer outra tecnologia que resolva o problema – Consultor de tecnologias – Trabalha com tecnologia deste 2003 – Java durante a graduação • Pós graduação • Depois experiências práticas e muito estudo
  3. 3. Professor Dal Prá Fale sobre você • Nome • Trabalha? Estuda? • Experiência com desenvolvimento • Experiência com Java • Expectativas
  4. 4. Professor Dal Prá Qual é o objetivo da disciplina? • Aprender conceitos de Orientação a Objetos • Como usar na prática os conceitos – Java será uma ferramenta para aplicar os conceitos
  5. 5. Como vamos trabalhar? • Explicação dos conceitos • Como funciona no Java • Exercícios – Mão na massa!
  6. 6. Avaliações • A1 • A2 • Trabalho prático – Sistema completo – Apresentar • A3 – Esperamos que ninguém precise dela!!
  7. 7. Professor Dal Prá Material apoio • Apostila • Apresentações • Oracle (www.java.oracle.com) • Google • GUJ • Professor via jrdalpra@gmail.com
  8. 8. O que é Java? • É uma plataforma – Desenvolvimento • Linguagem de programação – Java – Outras (JRuby, Groovy, Scala, Closure, etc) • Bibliotecas – oficiais – terceiros – Execução não é “nativa” • Máquina virtual – Oficial – Terceiros
  9. 9. Como está dividida a plataforma?
  10. 10. Vamos estudar uma parte do SE
  11. 11. Como funciona o processo de desenvolvimento? 1) Edita 2) Compila 3) Executa Gera um arquivo “.class”
  12. 12. Máquina Virtual? • É um software que faz um “meio de campo” entre o programa Java compilado (bytecode) e o ambiente de execução (Sistema Operacional) • Ela que permite que o Java seja multiplataforma
  13. 13. Professor Dal Prá Características da plataforma Java • Orientada a objetos – Herança simples – Interfaces • Sintaxe semelhante a C++ • Fortemente tipada • Extensível • Sem ponteiros
  14. 14. Professor Dal Prá • API dá suporte a – Distribuição (RMI) – Threads – Acesso a bancos de dados (JDBC) – Acesso a recursos e implementações nativas (JNI) • Compilação otimizada em tempo de execução (JIT) Características da plataforma Java
  15. 15. Professor Dal Prá • Execução em modo texto • Execução em modo gráfico (Swing/AWT/SWT) • Execução no servidor (Servlet) • Execução no navegado (Applets) Características da plataforma Java
  16. 16. Professor Dal Prá • Indicada para criação de sistemas grandes, complexos e com grande número de desenvolvedores • Primeira versão é mais trabalhosa do que uma versão feita em ferramentas RAD. • Facilita na manutenção corretiva e evolutiva  Padrões de projeto são muito importantes • Muitas bibliotecas gratuitas  Frameworks Características da plataforma Java
  17. 17. Professor Dal Prá • Tudo é especificação – o que é necessário? • Depois vem a implementação – como fazer para atender o que é necessário • Máquina virtual de vários fabricantes – Oracle – IBM – etc Características da plataforma Java
  18. 18. Professor Dal Prá Sopa de letrinhas • JDK • JRE • JVM • KVM • JSP • POJO • Bean • JSE • JEE • JME • DI • ORM • JDBC • RMI
  19. 19. Professor Dal Prá Mercado Java •Mundo •Brasil •Chapecó e região
  20. 20. Ferramentas • Qualquer editor de texto + compilador javac • Eclipse • Netbeans • IntelliJ IDEA • JBuilder • BlueJ Vamos usar este
  21. 21. O que vamos fazer agora? • Vamos aprender os comandos básicos – Não envolvem orientação a objetos • Familiarizar-se com o Eclipse – Como criar projetos, arquivos e executar os programas
  22. 22. Primeiro programa • Abrir o Eclipse • Novo projeto • Novo “Programa” – Imprime seu nome public class Programa { public static void main(String[] args){ System.out.println("Jose"); } }
  23. 23. Variáveis • Estão dentro de um bloco de código – Por enquanto vamos chamar de função • Ser para guardar valores durante um certo período tipo nomeDaVariavel = valorInicial; Atribuição (não é comparação) Pode ser um valor, cálculo ou chamada de “função” Regras: • case sensitive • começar com uma letra, $ ou _ • não pode ter espaços
  24. 24. Quais são os tipos possíveis? Tipo O que podemos guardar? Exemplo byte Inteiros de -128 a 127 – poupa espaço byte idade = 18; short Inteiros de -32.768 a 32.767 – poupa espaço short contador = 1000; int Inteiros de -2,147,483,648 a 2,147,483,647 (32bits) int tamanho = 100000; long Inteiros gigantes (64bits) long sequencia = 100000000l; float Decimais de precisão simples (32bits) float valor = 10.05f; double Decimais de precisão dupla (64bits) double total = 1000.10; boolean Valores lógicos. true ou false boolean aceita = true; char Caracter unicode char letra = „a‟; Estes tipos são chamados de tipos PRIMITIVOS, pois não estão ligados aos conceitos de POO
  25. 25. Pense em variáveis como se fossem copos • Cada copo sabe guardar um tipo de líquido short int long float double
  26. 26. Conversão de tipos trocar o conteúdo de copo Implícita Explícita
  27. 27. E como faço para guardar palavras? • String – não é um tipo primitivo – mas ao utilizarmos, parece que é – é, basicamente, uma matriz de char String nome = “Seu nome aqui”; String sobrenome = “Seu sobrenome aqui”; Sempre entre aspas duplas
  28. 28. O que fazer com estas variáveis? • Variáveis sozinhas não tem utilidade alguma, certo? • Como podemos modificar os valores? • Como “grudar” palavras umas nas outras? • Como fazer comparações? • Como desviar o fluxo do programa?
  29. 29. Como fazer cálculos matemáticos? Operador O que faz? Exemplos + Soma valores int a = 1; int b = 1; int c = a + b; int x = 25 + 25; - Subtrair valores int a = 10; int b = 5; int c = a - b; int y = a * 30; * Multiplica valores int a = 2; int b = 2; int c = a * b; int x = y * 3 * c; / Divide valores. Cuidado com a divisão por 0 int a = 10; int b = 2; int c = a / b; int z = 10 / c; % Resto da divisão de um valor por outro int a = 10; int b = 3; int c = a % b; int w = k % y;
  30. 30. Como guardar os cálculos em uma variável? Operado r O que faz? Exemplos = “Joga” um valor que está à direita dele para uma variavel que está à esquerda int idade = 18; int quadrado = x * x; += Tem o mesmo efeito de somar o valor atual da variável com o valor que está a esquerda; int a = 10; a += 1; int a = 10; a = a + 1 -= Tem o mesmo efeito de diminuir o valor atual da variável com o valor que está a esquerda; int a = 10; a -= 1; int a = 10; a = a - 1; *= Tem o mesmo efeito de multiplicar o valor atual da variável com o valor que está a esquerda; int a = 10; a *= 2; int a = 10; a = a * 2; /= Tem o mesmo efeito de dividir o valor atual da variável pelo valor que está a esquerda; int a = 10; a /= 2; int a = 10; a = a / 2;
  31. 31. Operadores unários • Fazem a operação e já guardam o valor na própria variável Operador O que faz? Exemplos ++ Soma 1 no valor atual da variável e já guarda na própria variável contador++; ++contador; -- Subtrai 1 no valor atual da variável e já guarda na própria variável contador--; --contador; Tem diferença de estar à direita ou à esquerda da variável • direita: soma é feita depois da utilização da variável • esquerda: soma é feita antes da utilização da variável
  32. 32. Como anexar uma palavra na outra? String nome = "Seu nome"; String sobrenome = "Seu sobrenome"; String nomeCompleto = nome + " " + sobrenome; String frase = "string" + " " + 10 + " " + "concatenada";
  33. 33. E se eu quiser comparar um valor ou variável com outra? Operador O que faz? Exemplo == Verifica se um é igual ao outro a == b; 1 == 2; 10.5 == 20; != Verifica se um é diferente do outro (não iguais) a != b; 1 != 2; 10.5 != 20; > Verifica se um é maior que o outro a > b; 1 > 2; 10.5 > 20; >= Verifica se um é maior ou igual ao outro a >= b; 1 >= 2; 10.5 >= 20; < Verifica se um é menor que o outro a < b; 1 < 2; 10.5 < 20; <= Verifica se um é menor ou igual ao outro a <= b; 1 <= 2; 10.5 <= 20; Sempre retornam true ou false
  34. 34. Ok. Mas meus sistemas precisarão de desvios no fluxo de execução. Como faço? Use o comando SE ... ENTÃO if (verdade) faz_tal_coisa; int idade = 15; if ( idade >= 18 ) System.out.println("Maior de idade!");  Uma linha de comando apenas!  Sempre uma expressão lógica (true ou false)
  35. 35. E caso seu precise executar mais de um comando após o IF? Use um "bloco" de código if (verdade) { faz_tal_coisa; faz_outra_coisa; }  Fecha o bloco  Abre o bloco Sempre use blocos, mesmo que para comandos simples!
  36. 36. if (verdade) { faz_tal_coisa; } else { faz_outra_coisa; } E caso eu queira fazer alguma coisa quando o IF falhar? • Use o comando SE ... ENTÃO ... SENÃO  Quer dizer: “Caso o if acima seja false execute este bloco baixo”
  37. 37. O IF usa expressões lógicas. E se eu quiser fazer mais do que uma comparação? Expressão O que faz? Exemplos & Faz uma operação de conjunção (E) entre uma expressão e outra if ( idade > 15 and idade < 18 ) { ... } && Igual ao &, porém nem sempre avalia a segunda expressão if (idade > 15 and idade < 18 ) { ... } | Faz uma operação de disjunção (OU) entre uma expressão e outra if ( temSaldo | ehClienteEspecial ) { ... } || Igual ao |, porém nem sempre avalia a segunda expressão if ( temSaldo || ehClienteEspecial ) { ... } ! Inverte a expressão (não) if (!temSaldo){ ... } Use && e || sempre
  38. 38. Lembra da TABELA VERDADE? Expressões && || false false false false false true false true true false false true true true true true Expressões ! true false false true
  39. 39. Mão na massa!! https://gist.github.com/1382307

×