TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

UML Resenha

Artigos Científicos: UML Resenha. Pesquise 860.000+ trabalhos acadêmicos

Por:   •  17/6/2014  •  1.506 Palavras (7 Páginas)  •  407 Visualizações

Página 1 de 7

Capitulo 5

Teoria de Classes;

O que é uma classe?

Podemos dizer que uma classe é a forma com que um objeto vai se comportar, é onde definimos atributos e métodos que um objeto pode ter. Neste livro é citado pelo autor um exemplo com que ele fala para seus alunos que uma classe pode ser uma planta de um apartamento e que todos os outros vão ser construídos e poderão ter suas características diferentes.

Instancia de uma classe:

A instancia da classe é o que definimos como seu objeto sendo armazenado na memória, e assim podemos estar usando esse objeto que teve suas características e ações definidas pela sua classe.

Esses objetos instanciados, ou podemos melhor dizer inicializados, também em algum momento serão finalizados, mas não podemos nunca saber ao certo o momento correto que isso ocorrerá por se tratar de um cara chamado Garbage Collection, ele é o responsável por percorrer a memoria e limpar o que achar necessário, podemos dizer a ele que não estamos mais usando aquela determinada instancia de uma classe mas só ele saberá ao certo quando irá finalizar o mesmo.

Objeto e classe, qual é mesmo a diferença?

Como dito anteriormente, uma classe será onde você vai implementar as características e as ações que o objeto irá ter. Objeto nada mais segue o que foi definido pela sua classe, porém, poderá ser diferente de outro objeto da mesma classe, isso definindo-se suas características e suas ações.

Como é a notação de uma classe?

Por três compartimentos em um quadrado. O primeiro é reservado ao nome da classe, o segundo a suas características e o terceiro para suas ações. Isso se denomina notação da UML.

Responsabilidade de uma Classe:

A classe sempre trata de um determinado assunto, no livro temos também exemplo onde mostra que não devemos nunca colocar assuntos como imobiliária, pagamento de hipoteca, atraso... tudo na mesma classe. Não estamos agindo de uma forma correta se seguirmos assim. Devemos por padrão, digo quase que uma obrigação, termos que respeitar todas as responsabilidade de uma classe, assim podemos ter um código mais coeso e menos acoplado.

Generalização e especialização, herança:

Tratamos desse assunto como herança, onde podemos herdar características e ações da classe pai para a classe filho. A classe que herda também sera a classe da qual herdou. Complicado? Não! Se temos uma classe chamada Pessoa com as seguintes características: cor dos olhos, altura, peso. E as seguintes ações: andar, falar e comer. Logo a classe que herdar de Pessoa pode usar as mesmas características e as mesmas ações que essa classe pai (Pessoa) definiu.

Interface:

Digamos que na interface resolvemos o problema da herança múltipla em Java, uma interface não é uma classe! É um arquivo que define valores constantes e as operações que uma outra classe deve implementar. Ou seja, ela não tem métodos, apenas seus “protótipos”.

Visibilidade de uma classe:

Classe pode ser publica, protegida, privada ou em pacote(default).

Classe publica todas as outras classes poderão enxergar essa classe. Não há restrição. Numa classe privada a classe não terá visibilidade para as demais, e pode ser uma innerclasse. Classe em pacote só serão vistas por ouras classes do mesmo pacote. Classe protegida só será visualizada por classes do mesmo pacote ou as que herdam.

Classe Abstract:

Classe que não pode ser instanciada, apenas herdada. Seus metodos podem ser abstract ou não.

Classe Final:

Tipo de modificador que indica que uma classe não pode ser herdada por ninguém mas pode ser instanciada.

Podemos perceber que uma classe jamais poderá ser marcada como abstract e final, pois um é o oposto do outro!

O mesmo esquema de visibilidade para as classes servem também para seus atributos e metodos, se desejarmos por deixar um atributo invisível para o resto é só marca-lo como private. Todas as regras vistas anteriormente servem também para nossos outros membros.

Para toda notação também temos algo quase definido para o desenho da UML, uma pena não termos um padrão seguido a risca por ela, pois podemos em algumas vezes não termos uma notação para uma representação como uma classe com final.

Operações tem visibilidade e sua assinalação é permitente, porque uma operação pode ser chamada para resolver situações especificas de uma classe ou pode existir para permitir que outras classes acessem seus atributos.

Como visto anteriormente, se um atributo é private de uma classe, precisará de uma operação que possibilite o seu manuseio. Operações podem ser public, private, protected, package.

Concorrência:

Uma semantica para concorrencia de chamada passiva a uma operação, as operações são sequenciais, restritas ou concorrente. Na primeira chamada são feitas uma a uma; na segunda multiplas chamadas podem ser feitas, porem apenas uma estará ativa e na terceira, multiplas chamadas podem ser feitas e ativadas.

Cardinalidades:

Cardinalidade mostra quantos objetos uma classe pode possuir e por quanto sobjetos uma classe é possuida. A navegabilidade mostra, explicitamente, de quem é a responsabilidade de obter as informações. A dupla navegabilidade pode ser responsavel pelo fato de se obeter um desepnenho inaceitavel devido ao grande volume de coleções que aparecem em um software. O autor do livro prefere usar as coleções dentro de um metodo, porque assim a vida dessa coleção acaba quando o metodo chega ao seu fim. Eu particularmente acredito que dependendo do que estamos usando, podemos usar alguns recursos como por exemplo no JPA podemos usar uma anotação @lazy.

Pacotes:

Pacotes

...

Baixar como (para membros premium)  txt (9.7 Kb)  
Continuar por mais 6 páginas »
Disponível apenas no TrabalhosGratuitos.com