20ª AULA LP - 29.02.2012
Autor: Daniel Schuch | Publicado: 2011-12-19T23:42:00-02:00

&nbsp;2º Módulo - Cepru/UNISC – T.I

Enfim, o tão esperado retorno às aulas. =)
Chegamos de fato, meio que agitados em relação à “saudade” extrema, dos alunos para que com os outros alunos.
Convenhamos, a aula com o Jossandro foi muito esperada por mim aluno, devido ao fato de ser a matéria desses 2º módulo que mais judia dos alunos, a complexidade da matéria, seus desafios...
Mesmo sabendo por uma história do Professor em relação a uma simples nota Sete (APROVADO). Se tivermos uma nota sete, sendo que citamos a história de um curso de pilotagem de avião.&nbsp;
Tendo com padrão Três obstáculos:
1º Alçar Voo;2º Permanecer nas alturas;3º Aterrissar.&nbsp;
Desafio: Do que me adianta saber Alçar voo, permanecer nas alturas e não saber aterrissar? Ainda com o maior orgulho gritar antes de o avião cair que o maior orgulho foi a nota 7 (APROVADO).
Dica: Busquem sempre o 10, que o 7 não é uma virtude.
Cheguei à aula e a turma já reunida, chamamos como o primeiro contato em relação à matéria de LP, uma rápida e sucinta revisão dos respectivos assuntos abordados no seminário passado.
O Professor Jossandro começou uma série de bombardeio interrogativo em cima dos alunos...
O que é Herança?O que é Atributos de Classe?O que é Polimorfismo?O que é modificadores de acesso?
O melhor e mais atrativo foi ver os alunos com aquela engrenagem meio enferrujada em relação às respostas. Eu respondi e dessa vez não fui repetitivo.&nbsp;
Um ponto positivo para mim... Bom, a aula prossegue, o curso prossegue e o módulo dois se encaminha para um final feliz. Esperamos.

Finaleira: Recebemos a notícia que a 4ª avaliação será um projeto individual, onde teremos que formar uma interface com alguns dados que o usuário ira preencher, onde ao término do preenchimento, ao clicar no Botão SALVAR, salvaria em um arquivo .txt em nosso Computador listando ordenadamente as informações fornecidas pelo devido usuário.
&nbsp;&nbsp; 
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Começamos de fato a falar da 20ª aula, onde a matéria se chama, 

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Classes Abstratas e Métodos Abstratos

&nbsp;&nbsp;&nbsp; Classes abstratas tem uma função importante na orientação a objeto em Java.

&nbsp;&nbsp; &nbsp;De forma objetiva, uma classe abstrata serve apenas como modelo para uma classe concreta (classe que comumente usamos).

&nbsp;&nbsp; &nbsp;Como classes abstratas são modelos de classes, então, não podem ser instanciadas diretamente com o new, elas sempre devem ser herdadas por classes concretas.

&nbsp;&nbsp; &nbsp;Outro fato importante de classes abstratas é que elas podem conter ou não métodos abstratos, que tem a mesma definição da assinatura de método encontrada em interfaces. Ou seja, uma classe abstrata pode implementar ou não um método.

&nbsp;&nbsp; &nbsp;Os métodos abstratos definidos em uma classe abstrata devem obrigatoriamente ser implementados em uma classe concreta. Mas se uma classe abstrata herdar outra classe abstrata, a classe que herda não precisa implementar os métodos abstratos.

&nbsp;&nbsp; &nbsp;Para criarmos uma classe ou método abstrato usamos a palavra-chave abstract.

EXEMPLO DE CLASSE ABSTRATA:

abstract class Funcionario {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; protected double salario;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public double getBonificacao() {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return this.salario * 1.2;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; // outros atributos e metodos comuns a todos Funcionarios&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} 
class Gerente extends Funcionario {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public String getBonificacao() {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return this.salario * 1.4 + 1000;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }} 





___________________________________________________

&nbsp;EXEMPLO DE METODO ABSTRATO:

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Às vezes, não fica claro como declarar um método abstrato.
&nbsp;&nbsp;&nbsp;&nbsp; Basta escrever a palavra chave abstract na assinatura do mesmo e colocar um ponto e vírgula em vez de abre e fecha chaves!

abstract class Funcionario {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; abstract double getBonificacao();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // outros atributos e metodos
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; }
&nbsp;&nbsp;&nbsp;&nbsp; Por que não colocar corpo algum? Porque esse método nunca vai ser chamado, sempre que alguém chamar o método getBonificacao, vai cair em uma das suas filhas, que realmente escreveram o método.

&nbsp;&nbsp; Qualquer classe que estender a classe Funcionario será obrigada a reescrever este método, tornando-o “concreto”. Se não reescreverem esse método, um erro de compilação ocorrerá.

___________________________________________________

&nbsp;&nbsp; Encerramos essa aula, com uma visão ainda maior do que é java... Há bastante conteúdo, o &nbsp;&nbsp; &nbsp;Professor Jossandro deixou bem claro que a missão não é fazer nós alunos sair do curso sabendo Java, e sim, fazer com que nós, tenhamos uma ideia do que é e como se comportar diante dos obstáculos dessa tão temida Linguagem de Programação.

&nbsp;&nbsp; A matéria não é difícil, acredito que com uma boa leitura e uma série de exercícios ela pode ser sim muito fácil.

&nbsp;&nbsp; Sai da aula com a cabeça erguida visando somente o trabalho final desse 2º módulo e a compreensão da matéria aprendida hoje.

__________________________________________________


Próximo Post&nbsp; - 21ª Aula LP