Jump to content
polska

@Override ?

Recommended Posts

polska

Boas pessoal, já há algum tempo que ando a tentar perceber qual o benefício e a própria intenção de usar a notação @Override nos métodos... Já consultei algumas páginas mas ainda não percebi muito bem... Alguém me pode ajudar?

Edited by polska

Corrige um sábio e ele mais sábio ficará. Corrige um ignorante e um inimigo ganharás.

Share this post


Link to post
Share on other sites
Knitter

De modo geral, as anotações permitem informar o compilador sobre determinadas características no teu código, algumas são mais importantes ou afectam mais o desenvolvimento que outras e em alguns casos as anotações são usadas para gerar código automaticamente.

No caso específico da anotação que mencionaste, não é mais que um mecanismo de auxílio ao programador já que dá ao compilador a indicação de que estás a re-implementar um método da super-classe e o compilador confirma se estás mesmo a fazer isso. Confuso? :)

Não altera em nada o teu código, mas como dizes explicitamente ao compilador que estás a fazer uma re-implementação, caso te enganes no nome do método o compilador vai queixar-se, se alterares a super-classe o compilador vai confirmar que a assinatura da tua re-implementação ainda é válida, enfim, estás a dar uma dica ao compilador para que durante o processo de compilação ele confirme se escreveste bem o código ou se não introduziste alguns dos erros comuns neste caso.

  • Vote 1

Share this post


Link to post
Share on other sites
polska

De modo geral, as anotações permitem informar o compilador sobre determinadas características no teu código, algumas são mais importantes ou afectam mais o desenvolvimento que outras e em alguns casos as anotações são usadas para gerar código automaticamente.

No caso específico da anotação que mencionaste, não é mais que um mecanismo de auxílio ao programador já que dá ao compilador a indicação de que estás a re-implementar um método da super-classe e o compilador confirma se estás mesmo a fazer isso. Confuso? :)

Não altera em nada o teu código, mas como dizes explicitamente ao compilador que estás a fazer uma re-implementação, caso te enganes no nome do método o compilador vai queixar-se, se alterares a super-classe o compilador vai confirmar que a assinatura da tua re-implementação ainda é válida, enfim, estás a dar uma dica ao compilador para que durante o processo de compilação ele confirme se escreveste bem o código ou se não introduziste alguns dos erros comuns neste caso.

Percebido, muito obrigado :thumbsup:


Corrige um sábio e ele mais sábio ficará. Corrige um ignorante e um inimigo ganharás.

Share this post


Link to post
Share on other sites
Knitter

Não deixei na resposta, mas não é obrigado a usar este tipo de anotações, no entanto e pessoalmente, recomendo muito que as uses. Realmente não afectam em nada o código ou a execução (esta porque até é removida pelo compilador), mas ajudam bastante a código com mais qualidade. Por exemplo, se um colega as tivesse usado, agora não andava eu à "cata" de bugs causados por se escrever "ser..." em vez de "set..", é um erro honesto e simples (teclas muito perto :) ) mas teria sido apanhado pelo compilador.

Ainda por cima quando todos os IDEs actualmente adicionam ou avisam quando a anotação falta. E para quem não usa IDEs, adicionem as macros :)

Share this post


Link to post
Share on other sites
polska

Não deixei na resposta, mas não é obrigado a usar este tipo de anotações, no entanto e pessoalmente, recomendo muito que as uses. Realmente não afectam em nada o código ou a execução (esta porque até é removida pelo compilador), mas ajudam bastante a código com mais qualidade. Por exemplo, se um colega as tivesse usado, agora não andava eu à "cata" de bugs causados por se escrever "ser..." em vez de "set..", é um erro honesto e simples (teclas muito perto :) ) mas teria sido apanhado pelo compilador.

Ainda por cima quando todos os IDEs actualmente adicionam ou avisam quando a anotação falta. E para quem não usa IDEs, adicionem as macros :)

Certo :) .. Neste caso estou a usar o Eclipse para programar Android, e a anotação aparecia quando era gerado algum método automaticamente ou então eu era avisado para usar... E eu não estava mesmo a perceber, nem depois de ter feito a pesquisa, simplesmente não estava a fazer sentido..


Corrige um sábio e ele mais sábio ficará. Corrige um ignorante e um inimigo ganharás.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.