>Isto só vale para depois que o professor explicar Annotations, obviamente!

Verdade... Eh ate bom deixar claro mesmo pro pessoal nao se
assustar......hehehe

Bjs

2008/9/21 Peter <[EMAIL PROTECTED]>

>  Retificando:
>
> "Moral da história: se o método *não estiver* declarado em uma
> superclasse, dará erro de compilação, mesmo que esteja em uma interface."
>
> "Eh ALTAMENTE RECOMENDAVEL q vcs usem (ou seja, senao usarem vamos dar
> errado...hehe), mas nao eh obrigatorio (compila senao usar....). "
> Isto só vale para depois que o professor explicar Annotations, obviamente!
>
>  Peter P. Lupo
> Undergraduating in Computer Science DCC/UFRJ
> Sun Certified Java Associatehttp://pplupo.googlepages.com/
> Cell. +55 (21) 81742487
>
>
>
> Zaedy Sayão wrote:
>
> o.O
>
> Well, ja q o Peter tocou no assunto....
>
> Eu ia deixar pra explicar amanha. Detesto explicar coisas teoricas por
> email, fora a preguica de escrever.....
> Por isso dei uma acochambrada pra nao complicar a cabeca do cara, q parece
> estar meio perdido, mas la vai...
> Eh pq na verdade, existe uma certa confusao entre classe abstrata e
> interface...Achei q se explicasse o q deveria a fundo iria complicar mais do
> q ajudar o cara pra fazer o exercicio, mas realmente vacilei em deixar pra
> la e falar conceitos errados....
> BTW, ja falei sobre isso nas 2 monitorias......
>
> Interfaces contem a assinatura de metodos.
> Classe abstrata contem metodo abstrato (metodo q nao tem corpo) e *pode 
> *conter
> tb metodos concretos (metodos com implementacao)
> Interfaces so tem metodos sem implementacao, nao tem metodo concreto.
> Quando vc implementa uma interface, em geral, faz isso pra obrigar a classe
> q esta implementando ter todos aqueles metodos q foram definidos na
> interface, com a mesma assinatura e fazer com q vc escreva este metodo na
> classe q a implementa, ex:
>
> interface X
> ClassA implements X
>
> ClasseA tera q ter todos os metodos q a interface X e tera q escreve-los,
> ou seja, torna-los concretos.
> Isso em geral, por isso prefiro explicar pessoalmente. Por exemplo, ClassA
> pode ser abstrata, e por isso nao ter q "tornar" todos os metodos
> concretos...
>
> Ai comeca a complicar, prefiro explicar melhor amanha....
> Alias, me lembrem e cobrem na hora da monitoria, pq senao eu vou
> esquecer.......rs
>
> Quando disse isso abaixo:
>
> > No caso o texto diz q um determinado metodo é *implementado*, ou seja,
> em termos praticos, "esta escrito" na interface Comparator e por isso,
> quando vc *implementar *a interface, tera q *sobreescrever*, pq ele ja foi
> escrito antes.....hehe
>
> Leia isso:
>
> > No caso, o texto diz q um determinado metodo eh implementado, ou seja, em
> termos praticos, esta descrito, contem a ssinatura na interface Comparator,
> por isso, quando vc implementar a interface, tera q escrever o metodo com a
> mesma assinatura q ele tem na interface.
> Palavras distintas para representar a mesma coisa mas q fazem diferenca
> teorica, por isso o Peter puxou minha orelha.....hehe
>
> Peter, nao entendi isso aqui:
>
> >se o método estiver não estiver
>
> O metodo esta ou nao esta?....xD
>
> Olha isso aqui, nao eh de java mas serve:
> http://www.macoratti.net/net_ica1.htm
>
> Alem disso, Annotations, como o Peter falou de @Override ainda vai ser
> dado.
> Eh ALTAMENTE RECOMENDAVEL q vcs usem (ou seja, senao usarem vamos dar
> errado...hehe), mas nao eh obrigatorio (compila senao usar....).
> Comento tb na monitoria melhor sobre.
> Link da api sobre override:
> http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Override.html
>
> Link sobre override, polimorfismo e overload:
> http://www.javafree.org/javabb/viewtopic.jbb?t=856460
>
> Nao sei se esclareceu a confusao ou aumentou....hehehe
>
> []'s
>
>
> 2008/9/21 Peter <[EMAIL PROTECTED]>
>
>> bom...
>>
>> Song, se é uma classe (e para estar em Compare<Song> deve ser), deveria
>> estar começando com letra maiúscula.
>>
>> Na verdade, métodos são declarados na interface e não implementados...
>> logo, não é uma redefinição (ou override) e sim uma implementação apenas.
>>
>> Quando vcs aprenderem o recurso de Annotations, verão que existe a
>> anotação @Override que pode ser declarada antes de métodos. Ela é utilizada
>> para pedir que o compilador se certifique de que um método está sendo
>> redefinido. Ou seja, estamos escrevendo um método em uma classe e escrevemos
>> antes dele "@Override". Se o método não estiver redefinindo outro, dará erro
>> de compilação. Moral da história: se o método estiver não estiver declarado
>> em uma superclasse, dará erro de compilação, mesmo que esteja em uma
>> interface.
>> Serve para verificar que não erramos a assinatura do método que queremos
>> redefinir.
>>
>>
>> Abraço!
>>
>>  Peter P. Lupo
>> Undergraduating in Computer Science DCC/UFRJ
>> Sun Certified Java Associatehttp://pplupo.googlepages.com/
>> Cell. +55 (21) 81742487
>>
>>
>>
>>  Zaedy Sayão wrote:
>>
>>  Sobreescrever eh exatamente o q diz o nome "escrever sobre".
>> Vc vai escrever o metodo, com a mesma assinatura, mas com o corpo
>> diferente.
>>
>> Implementar é pq uma quando vc "usa" uma interface, vc implementa ela,
>> assim como vc "extende" uma classe com heranca....
>> ClassA *implements* InterfaceX *extends* ClassB
>>
>> No caso o texto diz q um determinado metodo é *implementado*, ou seja, em
>> termos praticos, "esta escrito" na interface Comparator e por isso, quando
>> vc *implementar *a interface, tera q *sobreescrever*, pq ele ja foi
>> escrito antes.....hehe
>>
>> []'s
>>
>> 2008/9/21 André <[EMAIL PROTECTED]>
>>
>>>
>>> Na questão 1 o exercício pede pra eu criar uma Interface chamada
>>> Comparator<song> e 3 classes que irão sobreescrever o método compare
>>> implementado pela Interface Comparator.
>>>
>>> O que significa sobreescrever um método?
>>> O que significa implementar(numa interface)?
>>> Por que song está em minúscula em Comparator<song>?
>>>
>>> Isso é só pra começar...
>>>
>>>
>>>
>>
>>
>> --
>>  Zaedy Dantas Sayão
>> Graduando em Ciência da Computação DCC/UFRJ
>> http://www.manufato.com.br/
>> MSN: [EMAIL PROTECTED]
>>
>>
>>
>>
>>
>
>
> --
> Zaedy Dantas Sayão
> Graduando em Ciência da Computação DCC/UFRJ
> http://www.manufato.com.br/
> MSN: [EMAIL PROTECTED]
>
>
>
> >
>


-- 
Zaedy Dantas Sayão
Graduando em Ciência da Computação DCC/UFRJ
http://www.manufato.com.br/
MSN: [EMAIL PROTECTED]

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Comp 
2 - Geral" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/comp2-geral?hl=en
-~----------~----~----~----~------~----~------~--~---

Responder a