sábado, 15 de maio de 2010

SCJP - 5 Cap- 2 -Orientação a Objetos

Bom voltei meus estudos para certificação, terminei o segundo capitulo, muito bom o livro recomendo que leiam (mesmo os que não pretendem fazer a prova). Vamos ao resumo do capítulo.
Encapsulamento- para um bom encapsulamento e necessário que se use variáveis de instancia privadas com seus métodos de acesso publico.
Herança-Relacionamento É-UM: é baseado na herança de classes ou implementação de interfaces, o conceito de É-UM e o mesmo que dizer esse item é-um tipo desse outro. e feito quando uma subclasse estende outra classe, ou seja ela assume o mesmo comportamento da classe mais acima na arvore de herança.
Herança-Relacionamento TEM-UM: são utilizados na utilização em vez de na herança, ou seja A tem-um B os relacionamentos tem-um permite que você projete classes que sigam as boas praticas de OO sem que sejam necessárias classes monolíticas que executem milhares de coisas diferentes.
Polimorfismo:embora o tipo de uma variável de referencia não possa ser modificado ele pode ser usado para se referir a um objeto cujo tipo seja um subtipo do seu próprio.
Métodos sobrescritos: quando uma subclasse herda um método da superclasse e o reimplementa para adicionar um comportamento mais especializado.No tempo de execução a jvm chama a versão da subclasse em uma instância da subclasse, e um instancia da superclasse em uma instancia da superclasse.
O método novo não deve lançar nenhuma exceção verificada nova ou mais abrangente que a declarada no método sobrescrito.
Métodos sobrecarregados: permite que se utilize o mesmo nome do metodo da superclasse só com argumentos e (opcionalmente tipos de retornos) diferentes.
O tipo de retorno pode ser de qualquer valor ou variável que possa ser implicitamente convertido no tipo do retorno declarado.
Ex: short pode ser retornado quando o tipo de retorno declarado for um int.
Construtores:Se o desenvolvedor não criar seu construtor o compilador ir criar um construtor padrão sem argumentos. Um construtor padrão nunca será gerado se você ja tiver implementado um, portanto é aconselhável se você criar um construtor com argumentos que implemente um construtor sem argumentos também.
Construtores também não são herdados
Variáveis e métodos static:Variáveis e métodos staticos pertencem a classe em vez de qualquer instancia especifica.(ou seja , você pode usá-los sem ter nenhuma instancia da classe).
Acoplamento e Coesão: Um dos pontos principais da OO e tentar manter um fraco acoplamento e uma alta coesão na hora de desenvolver suas classes.
Acoplamento e o grau em que uma classe conhece outra, Se o único conhecimento que a classe B tem sobre a classe A e o que a classe A expôs através de sua interface então diz-se que as classes A e B tem acoplamento fraco.
Coesão e o grau de especialização de uma classe, ou seja, e o quanto aquela classe e especialista em algo, isso facilita a manutenbilidade outro beneficio e que ela tende a ser mais reutilizável.