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.
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
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
{
}
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.
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.
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!!
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.