Modelagem Diagrama de Classes

17 respostas
diagramaclasse
A

Gente, em um caso uma classe “Atividade” tem relação de N:N com várias outras classes, isso é normal (está correto) ?. As vezes penso que estou usando a classe “Atividade” como um filtro, e me parece errado.

Contexto de exemplo: A pessoa vai selecionar um tipo de atividade, se a atividade escolhida for X, então vai ser feita em A. A atividade X pode ser feita em vários A e A pode receber vários X. Essa atividade em A gera vários dados, como por exemplo o dia em que foi feita a atividade.

Segue um diagrama de exemplo:

Por favor, alguém me ajude com essa dúvida, já faz alguns dias que estou nisso rsrs.

17 Respostas

I

Isso quer dizer que a classe Actividades é a superclasse de A,B,C,D…, A superclasse de ActividadeA,… B é superclasse de actividadeB, … C superclasse de actividadeC , D superclasse de actividadeD

Espero ter ajudado :blush:

I

Ficará assim:

package exercises;

Public class Actividades

{

// métodos e atributos

}

public class A extends Actividades
{

}

public class C extends Actividades

{

}

public class B extends Actividades

{

}

public class D extends Actividades

{

}
public class ActividadesA extends A

{

}

public class ActividadesB extends B

{

}

public class ActividadesC extends C

{

}

public class ActividadesD extends D

{

}

// Implementação da UML

J

Atividades A, B, C, etc seriam objetos, não classes. Então nesse diagrama de classes basta deixar a classe Atividade e mais nada, considerando esse contexto de Atividade sem mencionar nenhum requisito.

I

Seja mais explícito, com suas explanações ?

I

Desde o momento que criamos uma classe e instanciamos essa classe, elas se tornam um objeto… ou estou errada? A classe Actividades é mãe de A,B,C e D , A mãe de ActividadeA , B mãe de ActividadesC … assim por diante e essa UML refere -se ao conceito de herança.

J

Voce instancia um objeto da classe. O diagrama de classe é de classe, não é pra colocar uma caixa pra representar objeto.

Forçar herança sem necessidade é um dos maiores erros cometidos entre quem usa orientação a objetos.

I

De uma olhada neste link e verás o quanto https://www.ateomomento.com.br/uml-diagrama-de-classes/

@javaflex

J

Estou falando do caso que ele apresentou. A, B, C não significa nada como classe.

I

I

São subclasses de Actividades, sim, repare nas setas e compare com o diagrama a cima…

J

Sua visão é muito acadêmica, o que ele postou não existe.

I

Hamm, legal.

S

Essas setas do diagrama que ele postou não são setas de herança.

Se fosse então Atividades teria 4 superclasses, o que não é válido no Java.
Java só tem herança múltipla de interfaces.

Na verdade esse diagrama parece que alguém usou diagrama de classes para desenhar um modelo entidade relacional.

I

O conceito de herança múltipla refere-se a subclasses que não podem ter mais que uma superclasse, ou ter mais que uma classe mãe, mas diferentes classes, podem ter a mesma mãe, logo sua proposição estaria errada, tenho o código deste diagrama que defende essa teoria, mesmo livros dizem isso!!

S

Essa sua descrição aí é de herança simples.

Herança múltipla é o conceito de herança de duas ou mais classes. A linguagem Java possui apenas herança simples de classes, ou seja, uma classe só pode ter o extends de uma classe, entretanto uma classe pode ter o implements de diversas Interfaces e uma interface também pode ter o extends de diversas outras interfaces.

I

Bem dito, mestre :clap::clap::clap:

I

Bem dito, mestre​:clap::clap::clap:

Criado 8 de outubro de 2020
Ultima resposta 11 de out. de 2020
Respostas 17
Participantes 4