A questão é: como representar as classes genéricas em UML? Assim como em C++, a UML também utiliza o nome Template, conforme consta na especificação. A figura a seguir mostrar parcialmente como representar em UML a interface java.util.Collection da API Java.
Em linguagem Java, o código fica:
public interface Collection<E> { public boolean add(E e); public Iterator<E> iterator(); }
A seguir, temos um exemplo de criação de um array de String como uma especialização da classe java.util.ArrayList, que é uma classe genérica da API Java.
Antes de apresentar o código Java, é importante dizer que a classe StringArray não será exatamente uma subclasse da classe genérica ArrayList, mas sim uma implmentação da classe genérica, ligando o tipo String ao tipo genérico E do ArrayList.
O código Java, então, fica como abaixo:
public class StringArray extends ArrayList<String> { }
Note também que, no código Java, a classe StringArray não está especializando a classe genérica ArrayList<E>, e sim a classe ArrayList<String>, tendo o tipo String já ligado ao tipo genérico E. Uma outra opção para se escrever o tipo ligado ArrayList<String> é apresentado no diagrama abaixo:
Para mais informações sobre Templates na UML, faça download da especificação que pode ser encontrada no site: http://www.omg.org/uml
Gostei da iniciativa, vou estar aqui a todo post! Gostei desse post...
ResponderExcluirObrigado Daniel. Será sempre bem vindo. Abraços.
ResponderExcluirAdorei compadre!
ResponderExcluirShare your knowlegde is the way...
kissessssss
Estou dentro! super legal o blog Márcio! adorei!!!
ResponderExcluirOlá Comadre, obrigado, com certeza, esse é o caminho!!!
ResponderExcluirObrigado Kátia, vai acompanhando pois logo terá um post interessante pro seu TCC. ;)
opa... isso é muito interessante! rs
ResponderExcluirTambém gostei mto... vou imitar o Daniel e estar aqui sempre...
ResponderExcluirObrigado Luana. Assim como disse pro Daniel, vc também será sempre bem vinda! ;) rsrsrs. Abraços.
ResponderExcluir