Sobre Interfaces

estou com um probleminha… eu tenho a minha classe principal… chamada Principal… tenho uma classe Tela… eu uso public class Principal extends Tela… agora eu preciso de uma outra classe onde vou colocar alguns metodos padroes… pensei em usar uma interface Padrao… ae eu chamaria public class Principal extends Tela implements Padrao… mas nas interfaces eu nao posso criar metodos… tem algum jeito de eu resolver meu problema? sem precisar ficar instanciando essa classe Padrao…

Obrigado

Nao. Voce soh pode extender uma unica classe por vez. Uma saida seria voce tornar static todos os metodos de Padrao, assim voce nao precisa instanciar a classe.

Rafael

é uma saida, mas eu faria uma classe Singleton para isto :slight_smile:
assim não quebro a orientação a objetos como utilizando metodos static :slight_smile:
não gosto muito dos static, mas isto é loucura pessoal :slight_smile:

Uma coisa que eu sinto falta no JAVA que eu ABUSAVA de usar no C++ Herança Multipla, quebra um galhão não seu porque a SUN simplismente deixou esta feature do OO para tras. os livros geralmente falam que JAVA trocou a herança multipla pelas INTERFACES mais uma coisa nada tem haver com a outra !!! o poder da herança multipla e muito grande como tambem sua complexidade !!! mais eu achava que a SUN não poderia ter deixado isso de lado.

E so minha opinião pessoal, coisa de programador C++ :lol:
mais essa limitação tem contorno mais e um gatilho que poderia ser resolvido facilmente se a linguagem tivesse essa feature !!!

Falow Galera .

eu acho que foi tirado por causa da complexidade da implementacao de heranca multipla :slight_smile:
tambem acho que este e o motivo por que quase nenhuma das linguagens orientadas a objeto implementam heranca multipla :slight_smile:

mas o melhor contorno para isto, na minha opiniao, e utilizar
composicao em vez de heranca :slight_smile:
simplifica muito o design do sistema e facilita a implementacao e alteracoes futuras :slight_smile:
e sem o problema de mais de uma classe ter um metodo com o mesmo nome como na heranca multipla :slight_smile:

Realmente e bastante complexo a implementação de herança multipla, mais e uma coisa que poderia existir na linguagem para que as pessoas tenha direito de decidir, eu como ja trabalho a muito tempo com herança multipla não tenho dificuldades … quem inicie pelo JAVA talvez tenha dificuldades em entender mais eu estou satisfeito com JAVA e ja aprendi a cortornar esse probleminha :smiley:

falow :wink:

Eu concordo que a melhor solução no caso seja instanciar a classe Padrao mesmo, mas em relação a questão de herança múltipla em Java, é possível obter um efeito semelhante através de “inner classes” (não se aplica ao problema citado, pois você acaba criando dois objetos do mesmo jeito).
Pelo menos é isso que diz o Bruce Eckel, no livro Thinking in Java.

Nessa terceira edição do livro ele fala bastante sobre inner classes, então se alguém quiser ler a respeito pode pegar o livro no site http://www.mindview.net/Books/TIJ/

Herança múltipla não foi tirada do java à toa não. Existia muitos problemas e conflitos com herança múltipla. Acho que o Java está perfeito do jeito que está. Claro que tem suas limitações, mas qual linguagem é perfeita?