Lar Finanças Pessoais Fazendo generalizações em UML 2 - dummies

Fazendo generalizações em UML 2 - dummies

Vídeo: Diagrama de Classe - Generalização/Especialização/Herança - Astah 2025

Vídeo: Diagrama de Classe - Generalização/Especialização/Herança - Astah 2025
Anonim

É natural classificar objetos em categorias e organizar categorias em subcategorias. Se você procura um lugar para viver, você se encontra categorizando uma unidade de moradia como uma casa, apartamento, moradia, condomínio, mansão, e assim por diante. As casas podem, por sua vez, ser ainda organizadas por estilos como o rancho, o nível dividido, o colonial e o saltbox. O UML fornece uma notação para capturar esses tipos de classificações - também conhecida como generalização e especialização - e utilizá-los como modelador e programador.

Alguns desenvolvedores orientados a objetos terão grandes comprimentos para economizar um pouco de trabalho. Quando eles podem modelar uma vez e reutilizá-la, eles estão interessados. Se eles podem escrever um método (o código do programa para uma operação) para uma classe apenas uma vez e usá-la muitas vezes, então inscreva-as para maior produtividade. Se você quer economizar tempo, especificando atributos e operações uma vez e depois reutilizando-os muitas vezes, continue lendo.

Ao definir classes, você pode notar que algumas classes possuem os mesmos atributos ou as mesmas operações. Quando este é o caso, você coloca esses recursos comuns (atributos, operações e assim por diante) em uma classe mais genérica chamada superclasse. As classes que compartilham os recursos comuns são conhecidas como subclasses da superclasse. Por exemplo, o comprimento do material gravado em uma fita de vídeo, fita de áudio, disco compacto ou filme é um atributo de todos os quatro tipos de mídia gravada. Essas classes também podem compartilhar outros atributos, como suas dimensões físicas e a data em que cada uma delas foi usada para fazer uma gravação. Neste caso, a superclasse seria RecordedMedia, as subclasses seriam Videotape, Audiotape, CompactDisc e MovieFilm, e alguns atributos compartilhados poderiam incluir recordingLength e totalLength.

Esse processo de encontrar atributos ou operações similares em classes é conhecido como generalização. Por exemplo, você generaliza o atributo recordLength para uma classe mais genérica chamada RecordedMedia. O processo para mostrar uma generalização em UML é simples:

1. Identifique as subclasses.

Localize classes com os mesmos atributos e / ou operações. Essas classes são suas subclasses.

2. Crie uma superclasse.

Forneça uma superclasse para manter os atributos e / ou operações comuns das subclasses. Dê à superclasse um nome que categoriza todas as subclasses. Colocar a superclasse acima das subclasses no diagrama torna mais fácil a leitura, mas não é necessário.)

3. Adicione recursos comuns à superclasse.

Remova os atributos e operações comuns das subclasses e coloque-os (uma vez) na superclasse.

4. Desenhe uma relação de generalização.

Você desenha uma linha de generalização de cada subclasse para a superclasse. Em UML, a linha de generalização é representada como uma linha contínua com uma ponta de seta oca na extremidade da superclasse. Na UML, uma linha com a ponta de flecha oca que conecta uma subclasse a uma superclasse é conhecida como uma relação de generalização.

Depois de criar uma superclasse com os recursos comuns, como atributos e operações, as subclasses herdam esses recursos da superclasse. Desta forma, você só precisa escrever os recursos comuns uma vez na superclasse em vez de muitas vezes em cada uma das subclasses.

Você pode dizer se você tem uma generalização olhando o idioma que você (ou outros) usam para descrever a relação entre as classes. Observe que, ao descrever as mídias gravadas e seus vários tipos, como a fita de vídeo anteriormente nesta seção, apareceu a frase "quatro tipos de mídia gravada". Se você se encontra usando frases como "tipo de" ou "tipo de", então é provável que você tenha uma generalização em suas mãos.

Diga que um de seus clientes está preocupado em acompanhar os materiais em um arquivo. Este cliente acumulou diferentes tipos de mídia gravada , como fitas de vídeo e fitas de áudio. Como modelistas, você precisa capturar as diferenças entre esses meios, bem como suas semelhanças. O diagrama na Figura 1 mostra os começos de várias generalizações, dispostas em uma hierarquia de herança .

Figura 1: Hierarquia de herança simples.

Os desenvolvedores usam o termo generalização ou herança para se referir ao mesmo conceito de reutilização de atributos compartilhados e operações que você mostra em uma superclasse e reutilização em subclasses. A generalização refere-se ao conceito de generalização de especificidades (as subclasses) para o genérico (a superclasse). A herança refere-se ao efeito da generalização nas subclasses.

Quando você vê uma relação de generalização entre as classes, seu significado é muito diferente do de uma associação associação entre classes. Uma associação é, em última instância, uma relação entre muitos objetos - algumas instâncias de uma classe têm um relacionamento (link) com instâncias da outra classe. Em uma relação de generalização entre classes , o relacionamento é realmente sobre as aulas. O melhor que você pode dizer é que um objeto criado a partir de uma subclasse contém todos os recursos da subclasse e da superclasse.

Você só tem um objeto de uma classe em uma relação de generalização. Mesmo que você mostre duas classes, a subclasse e a superclasse, você só possui um objeto que seja criado. Você pode pensar em um objeto da classe Videotape também ser um objeto da classe RecordedMedia por causa da herança. A Figura 2 mostra um objeto criado a partir da classe Videotape com todos os seus atributos.(A instância de uma classe é representada como um símbolo de objeto.) Você não tem dois objetos diferentes (um para RecordedMedia e outro para Videotape), apenas um objeto. Quando o objeto vtu83-1023 foi criado, todos os valores de seus atributos foram definidos. A gravação na fita é de 57 minutos. O comprimento total da fita física é de 60 minutos. A fita é uma videocassette Umatic com uma altura de 10 polegadas, uma largura de 7 polegadas e uma profundidade de 1. 5 polegadas. A gravação é analógica, e um registro do conteúdo da fita é anexado à fita para que o arquivista faça referência.

Figura 2: Uma instância que mostra todos os atributos herdados.

Você só tem uma instância definida por uma subclasse e sua superclasse. A subclasse e a superclasse podem ter uma operação de construtor (para criar a instância) e uma operação de destrutor (para destruir a instância). Quando o seu software é executado e você cria uma instância de uma subclasse, o construtor da superclasse é executado primeiro, seguido pelo construtor da subclasse. Quando chega a hora de eliminar a instância que você criou, o destruidor da subclasse é chamado primeiro, seguido do destrutor da superclasse. Se as coisas são mais complexas porque você tem subclasses de subclasses, lembre-se: os construtores são invocados do topo da hierarquia de herança para a parte inferior; Os destrutores são chamados em ordem da subclasse mais baixa até a superclasse mais alta.

Fazendo generalizações em UML 2 - dummies

Escolha dos editores

A Igreja Católica nos séculos XIV e XV - manequins

A Igreja Católica nos séculos XIV e XV - manequins

Enquanto o Papa Inocêncio III (1198-1216) ) sintetizou o zênite do poder e influência papal, o Papa Bonifácio VIII (1294-1303) personificou um dos pontificados mais complicados, misteriosos e às vezes contraditórios da Igreja. O rei Filipe IV da França e Bonifácio tornaram-se inimigos amargos no começo. Seu relacionamento piorou ao longo do tempo, e em 1303, Philip enviou mercenários ...

Catolicismo All-In-One For Dummies Cheat Sheet - dummies

Catolicismo All-In-One For Dummies Cheat Sheet - dummies

Enquanto diz as orações do Rosário, os católicos meditam sobre os chamados Mistérios Alegres, luminosos, dolorosos e gloriosos do Rosário. Mas dizer que os mistérios não são realmente mistérios, porque cada chamado mistério se refere a uma passagem diferente na vida de Cristo ou Maria, sua mãe. Cada década (um Nosso ...

10 Católicos famosos - manequins

10 Católicos famosos - manequins

Aqui está uma lista de dez dos católicos mais famosos, começando com os mais famosos. Mas tome cuidado: apenas ser batizado católico não significa que uma pessoa seja uma boa católica. A Igreja Católica acredita que um bom católico é aquele que regularmente e fielmente pratica sua fé todos os dias de sua vida. Uma pessoa ...

Escolha dos editores

Como girar objetos de desenho no PowerPoint 2007 - dummies

Como girar objetos de desenho no PowerPoint 2007 - dummies

O PowerPoint rotate handle permite que você dê os desenhos seus slides são inclinados. Com a alça de rotação do PowerPoint, você pode girar um objeto para qualquer ângulo arbitrário apenas arrastando-o com o mouse. O identificador de rotação é o identificador verde que aparece quando você seleciona um objeto que pode ser girado. A rotação ...

Como executar um programa através de uma hiperligação no PowerPoint 2013 - dummies

Como executar um programa através de uma hiperligação no PowerPoint 2013 - dummies

Uma hiperligação do PowerPoint pode também executar qualquer programa dentro de uma apresentação. Por exemplo, você pode criar uma apresentação que explica como comercializar um novo programa de computador e, em seguida, criar um hiperlink para o mesmo programa para que você possa demonstrar como esse programa realmente funciona. Quando você sair desse programa, você retorna para o seu ...

Como reorganizar slides na exibição do classificador de slides do PowerPoint 2016 - dummies

Como reorganizar slides na exibição do classificador de slides do PowerPoint 2016 - dummies

Exibição normal no PowerPoint 2016 is a visão em que você normalmente trabalha para editar seus slides, mover as coisas, adicionar texto ou gráficos, e assim por diante. No entanto, a Visão Normal tem uma limitação séria: não dá uma imagem muito importante da sua apresentação. Você pode ver os detalhes de apenas um slide em um ...

Escolha dos editores

Gerentes de comunidade on-line são multitarefas - manequins

Gerentes de comunidade on-line são multitarefas - manequins

Não só você tem que usar muitos chapéus como uma comunidade on-line gerente, mas às vezes você também sente que está vestindo todos eles ao mesmo tempo. Em qualquer dia, você pode esperar ter pelo menos meia dúzia de janelas do computador abertas ao mesmo tempo. Você pode ter ...

Community Manager: como representar a marca - dummies

Community Manager: como representar a marca - dummies

Como a representação mais pública do seu A marca, você, o gerente da comunidade online, é a pessoa a quem todos estarão buscando comentários, perguntas, sugestões e até propostas de negócios. Ao atuar como porta-voz da marca, você tem muitos itens a considerar: políticas sobre divulgação, transparência e o que divulgar ao público: Às vezes ...

Gerentes de comunidade on-line devem encontrar humor em situações difíceis - manequins

Gerentes de comunidade on-line devem encontrar humor em situações difíceis - manequins

Não todas as crises que enfrenta como on-line O gerente da comunidade tem que ser silencioso ou super sério. Você encontrará que as pessoas apreciam marcas que mostram um lado humano. Se você pode tratar a negatividade com humor e não insultar a inteligência de sua comunidade, você não só controlará os danos, mas também poderá atrair uma série de novos ...