>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 -~----------~----~----~----~------~----~------~--~---
