12 Geracao De Codigo
© Prof. Raul Sidnei Wazlawick
UFSC-CTC-INE
2010
Fonte: Análise e Projeto de Sistemas de Informação Orientados a
Objetos, 2ª Edição, Elsevier, 2010.
Geração de código
Uma vez definidos os diagramas de comunicação e o DCP, a geração de código é uma tarefa passível de automatização.
Trata-se aqui da geração de código das classes correspondentes à camada de domínio da aplicação, ou seja, as classes que realizam toda a lógica do sistema a partir das operações e consultas de sistema. Classe e atributo
Associação Unidirecional
Associação Bidirecional
Método Delegado
Teste
Classes e atributos
CLASSE Livro
VAR PRIVADA isbn : String titulo : String autor : String nrPaginas : Inteiro
MÉTODO getIsbn():String
RETORNA isbn
FIM METODO
MÉTODO setIsbn(umIsbn:String) isbn := umIsbn
FIM Método
... – getter e setter similares para titulo, autor e nrPaginas
Classe e atributo
Associação Unidirecional
Associação Bidirecional
Método Delegado
Teste
Get e Set
Por uma questão de controle e consistência, é recomendável que apenas os métodos get e set acessem diretamente os valores das variáveis de instância, sendo vedado o acesso a outros métodos mesmo que sejam da mesma classe. Classe e atributo
Associação Unidirecional
Associação Bidirecional
Método Delegado
Teste
Associações unidirecionais
Associações unidirecionais => variáveis de instância. Diferenças com atributos:
◦ atributos são sempre implementados por variáveis cujos tipos são primitivos (alfanuméricos).
◦ associações são implementadas por variáveis que são classes (no caso de associações para um) ou estruturas de dados (no caso de associações para muitos). Na geração de código da camada de domínio não se diferencia associações temporárias e persistentes, pois sua implementação é a mesma.
Classe e atributo
Associação Unidirecional
Associação Bidirecional
Método Delegado
Teste
Métodos de uma associação
Add
◦ tendo como parâmetro o objeto a ser associado. Remove
◦ tendo como parâmetro o