java

492 palavras 2 páginas
Benefícios e Problemas da Herança
Um dos benefícios da Herança é que ela captura o que é comum e o isola daquilo que é diferente, além disso, a herança é vista diretamente no código até mesmo devido a sua natureza estática.
Entre os problemas da Herança está o fraco encapsulamento entre classes e subclasses e o forte acoplamento entre elas onde ao mudar uma superclasse pode afetar todas as subclasses além de violar o princípio básico de projeto OO em que devemos ter sempre um baixo acoplamento entre as classes. Além disso, algumas vezes um objeto precisa ser de uma classe diferente em momentos diferentes o que não é possível com a herança, pois o código não pode sofrer alterações facilmente em tempo de execução, portanto tem-se que a herança é um relacionamento estático.
Benefícios e Problemas da Composição
A grande vantagem da Composição é que o comportamento pode ser escolhido em tempo de execução em vez de estar amarrado em tempo de compilação. Além disso, os objetos que foram instanciados e estão contidos na classe que os instanciou são acessados somente através de sua interface seguindo assim o princípio de programar para uma interface e não para uma implementação. A composição também apresenta uma menor dependência de implementações e temos cada classe focada em apenas uma tarefa seguindo outro principio da responsabilidade única. Por fim, a composição também tem um bom encapsulamento onde os detalhes internos dos objetos instanciados não são visíveis.
A grande desvantagem é que um software muito dinâmico e parametrizado é mais difícil de entender do que software mais estático.
Quando usar Composição ou Herança
De forma geral prefira utilizar sempre a Composição em relação à Herança, no entanto pode-se definir algumas regras para identificar quando podemos usar a Herança de forma que não tenhamos os problemas que ela acarreta. Utiliza-se a herança se uma instância de uma classe Filha nunca precisar tornar-se um objeto de outra classe, se a

Relacionados

  • java
    294 palavras | 2 páginas
  • java
    868 palavras | 4 páginas
  • java
    6870 palavras | 28 páginas
  • Java
    1657 palavras | 7 páginas
  • java
    1176 palavras | 5 páginas
  • Java
    6757 palavras | 28 páginas
  • Java
    1044 palavras | 5 páginas
  • Java
    1411 palavras | 6 páginas
  • JAVA
    1268 palavras | 6 páginas
  • java
    2412 palavras | 10 páginas