Professional Documents
Culture Documents
Abstrao
De forma objetiva, uma classe abstrata serve apenas como modelo para uma classe concreta (classe que comumente usamos). Como classes abstratas so modelos de classes, ento, no podem ser instanciadas diretamente com o new, elas sempre devem ser herdadas por classes concretas.
Abstrao
Elas podem conter ou no mtodos abstratos. Ou seja, uma classe abstrata pode implementar ou no um mtodo. Os mtodos abstratos definidos em uma classe abstrata devem obrigatoriamente ser implementados em uma classe concreta. Para criarmos uma classe ou mtodo abstrato usamos a palavra-chave abstract.
Herana
Herana, do ponto de vista prtico, pode ser entendido como sendo um conjunto de instncias criadas a partir de um outro conjunto de instncias com caractersticas semelhantes, e os elementos desse subconjunto herdam todas as caractersticas do conjunto original.
Herana
A ideia fornecer um mecanismo simples (mas muito poderoso) para que se defina novas classes a partir de uma j existente. Assim sendo, dizemos que essas novas classes herdam todos os membros (propriedades+mtodos) da classe-me; A classe-filha pode possuir propriedades e mtodos prprios.
Exerccio
Exerccio
public class TestaOficina{ public static void main(String args[]) { Oficina o = new Oficina(); Veiculo v; for(int i=0;i<4;++i){ v=o.proximo(); o.manutencao(v); } } }
Exerccio
import java.util.*; public class Oficina{ Random r=new Random(); public Veiculo proximo(){ Veiculo v; int code=r.nextInt(); if(code%2==0) v=new Automovel(); else v=new Bicicleta(); return v; } public void manutencao(Veiculo vi){ vi.listarVerificacoes(); vi.ajustar(); vi.limpar(); if (vi instanceof Automovel) ((Automovel)vi).mudarOleo(); } }
Exerccio 2
Baixar o cdigo fonte disponibilizado no site para a aula 12.