Cadê a classe Pato ? E ela tem de ser, obrigatoriamente, filha de Duck.
Master.Abs
psicoppardo:
Será que nesta versão do java não somos mais capazes de usar este artifício??
Se você criar uma classe pato que extends Duck creio que funciona.
publicclassPatoextendsDuck{....}
D
denisGermano
você nao pode instanciar uma classe abstrata,
na linha:
Duckduck=newPato();
você começa como se for instanciar em duck do tipo Duck e depois chama o construtor Pato(), que nao existe.
vc deve extender a classe Duck e criar a Pato e colocar
Patoduck=newPato();
rmendes08
denisGermano:
você nao pode instanciar uma classe abstrata,
na linha:
Duckduck=newPato();
você começa como se for instanciar em duck do tipo Duck e depois chama o construtor Pato(), que nao existe.
vc deve extender a classe Duck e criar a Pato e colocar
Patoduck=newPato();
ele só precisa criar uma classe concreta Pato, você pode normalmente declarar variáveis cujo tipo sejam classes abstratas.
Eu concordo com todos, mas lendo o livro HeardFish: desing patterns, nas páginas 37 e 38 (exemple: SimUDuck) ele deixa a entender que é possível fazer dessa forma. Baixei os arquivos e compilei e mesmo assim dá erro. Estou com a pulga atrás da orelha, pois não sei se é a versão do java que uso ou se o exemplo do livro está errado.
Obrigado a todos pelas explicações.
psicoppardo
Alguém já leu este livro ???
psicoppardo
Bom pessoal, obrigado pelas explicações, realmente eu sou um “Animal”, pois tem que existir uma classe pato, no meu exemplo compreendi totalmente errado o livro, desculpe a escorregada feia que dei.
TÓPICO RESOLVIDO.
nel
psicoppardo:
Bom pessoal, obrigado pelas explicações, realmente eu sou um “Animal”, pois tem que existir uma classe pato, no meu exemplo compreendi totalmente errado o livro, desculpe a escorregada feia que dei.
TÓPICO RESOLVIDO.
Não se trata disso, mas provavelmente pela falta de experiência/conhecimento e muito possível, faltou atenção na leitura do livro. É claro que, isso não exclui a possibilidade de esse ou qualquer outro livro técnico ter algum erro, que fique claro isso. Agora, é só dar continuidade aos teus estudos e adicionar [Resolvido] ao fim do seu tópico.