Novidades... • Quartetos; – – – – – Equilibrar Conhecimento; Aprender a Ensinar; Trabalho em Equipe; Facilitar a Vida do Professor. Então, definam seus grupos e o líder do grupo. • Trilha Sonora (bem, se eu conseguir som...) – Sempre na segunda parte das quartasfeiras..se der certo, podemos ter mais vezes. – Ah...Sempre, o melhor quarteto escolhe a próxima trilha sonora. Programação Orientada a Objetos II – Aula 5 Objetivo Individual Criar uma classe útil com atributos e métodos. Objetivo do Quarteto Criar um Desenho com pelo menos 10 objetos. Deve haver pelo menos um objeto de cada classe. Plano de Trabalho Revisar Criação de Classe. Individual – Cada um cria uma classe que vamos usar para desenhar. Em quarteto – Criem um desenho com 10 objetos. 1 de cada classe no mínimo. Revisão Criação de Classe • Criem um projeto e Vamos lá.! 1° Passo • Excluam a Classe Main. Mas, porque isso professor??? Queremos aprender a programar. É importante saber o que estamos fazendo..como começo um programa em java,o que significa static, void, main, etc.. E se não praticamos nossa escrita, dificilmente lembraremos. 2° Passo • Criem a classe principal do programa de Vocês. O NetBeans chama essa classe de Main. Eu vou chamar de TestaPrograma, e vocês? Ah, mudem o nome do pacote também, ele é do programa de vocês, podem chamar como quiser. 3° Passo • Bem, está faltando alguma coisa certo? dizer o que é?. Alguém pode me 3° Passo • Isso, o método Principal.!!! Lembre-se: O Java precisa começar de algum lugar. Esse lugar é o método main. Professor, posso começar de outro lugar??? R: Não. 4° Passo • Bem, estamos aqui para falar de objetos, programação estruturada vocês já sabem...aliás, porque mesmo é bom usar Orientação a Objetos ao invés de programação estruturada? Alguém pode ajudar?? 4° Passo O que faz esse código??? E este? 4° Passo Tchãrammmmmmmmm 4° Passo O que faz esse código??? 4° Passo E esse?? 4° Passo Tchãrammmmmmmmm 4° Passo Vantagens da Orientação a Objetos 1 - Leitura de Código. 2 - Organização de Código. Como assim organização de código? 2 - Organização de Código. Exemplo de classe PainelDesenho com um método para cada desenho. 100 linhas para 6 objetos diferentes. E se tivéssemos 30 objetos?? E se estivéssemos fazendo um jogo e verdade, com algumas centenas de formas diferentes? Seria viável colocar tudo em um único arquivo? Seria fácil localizar os métodos que precisassem de alteração? Bem, vamos ver como que fica com OO 2 - Organização de Código. Com uma classe para cada desenho fica bem mais fácil encontrar o código que preciso alterar. Além do mais, fica mais fácil de visualizar tudo que posso utilizar no sistema. Sempre que eu precisar desenhar algo posso olhar a lista de classes de desenho, assim como, quando precisamos de algum recurso especial procuramos as classes do Java. Aliás, o Java tem 3500 classes, já imaginou tudo isso em programação estruturada? Eu não.!! 4° Passo Vantagens da Orientação a Objetos 1 - Leitura de Código. 2 - Organização de Código. Vamos dar uma olhada no exemplo do cenário.. Concordam com meus argumentos? 5° Passo Então, Vamos relembrar como construímos uma classe Ponto X,Y Quais as Caracterísiticas de um Círculo? COR Diâmetro 6° Passo Arquivo Circulo.java 6° Passo Declaração de Variáveis ESCOPO private Color cor; PPP public private public protected TIPO int float double String Color Circulo JFrame Cenario Graphics NOME x y cor corVerde janela abobrinha fruta nome preco String nome; public String matricula; int x; private int x; private cor; private Color cor; private Color corVermelha; Circulo meuPrimeiroCirculo; public Circulo meuPrimeiroC protected Quadrado meuPrimeiroQuadrado; JFrame janelaPrincipal; private Color cor; public painel painelDesenho; public JPanel painelDesenho; private String; private Color cor; private Color cor; 6° Passo Arquivo Circulo.java 6° Passo Arquivo Circulo.java 6° Passo Para treinar.. Pessoa.java 6° Passo Para treinar.. Pessoa.java 7º - public, protected e private Podemos usar atributos como publicos?? Vamos testar.!! 7º - public, protected e private Se funciona, qual o problema?? 7º - public, protected e private Se funciona, qual o problema?? • Por algum erro do Sistema ou de usuário um atributo pode assumir um valor inválido; • Para termos segurança que o valor daquele objeto sempre será válido, deixamos que somente a classe cuide dele, assim, tornamos o atributo private.! Como boa prática de programação, nossos atributos sempre terão o escopo private. 8º - get e set Quando devemos usar?? Somente quando for necessário.!! Única e exclusivamente quando for necessário. 8º - get e set Façam testes com os outros atributos Principalmente o atributo Color 9º Passo • Criando métodos úteis; • Uma classe não serve somente para guardar atributos, ela deve também executar ações que façam sentido. • Por exemplo, se nosso círculo tem uma posição x e y na tela, podemos movê-lo para a esquerda, direita, cima e baixo, certo? • Vamos tentar..podemos começar pelo método moverParaEsquerda(...); 10º Passo - Praticar 1. Reescrever a classe do objeto de vocês considerando o que foi discutido. 2. Criar apenas os get’s e set’s necessários. 3. Criar métodos para mover o objeto. 4. Exibir um PainelDesenho com vários desenhos do seu objeto, mudando sua posição , cores e demais atributos. 50% da nota do dia. Entrega do projeto Netbeans Compactado por email em [email protected] Atividade em Quarteto • Criar um Painel de Desenho que tenha pelo menos 10 objetos. • Deve haver no mínimo 1 objeto de cada Classe. • Os atributos dos objetos desenhados devem ser alterados. 50% da nota do dia. Entrega do projeto Netbeans pelo Líder Do quarteto com o nome de todos do grupo compactado em [email protected] Vai uma música??