-
Notifications
You must be signed in to change notification settings - Fork 2
Diagrama de Classes (UML)
Guilherme Rodrigues edited this page Aug 18, 2025
·
1 revision
O diagrama abaixo ilustra as principais classes do projeto e como elas se relacionam. Ele oferece uma visão macro da estrutura do código, destacando as relações de herança e composição.
classDiagram
class Personagem {
<<Abstract>>
-String nome
-int vida
-int forca
-int defesa
+atacar(Personagem alvo)*
}
class Heroi {
-int experiencia
-Inventario inventario
+subirDeNivel()
+usarItem(Item item)
}
class Monstro {
+toString()
}
class Item {
<<Abstract>>
-String nome
}
class Equipavel {
<<Interface>>
+equipar(Heroi heroi)
+desequipar(Heroi heroi)
}
class Espada {
-int poderDeAtaque
}
class PocaoVida {
-int cura
}
class Inventario {
-List<Item> itens
+adicionarItem(Item item)
+removerItem(Item item)
}
class Batalha {
-Heroi heroi
-Monstro monstro
+iniciarBatalha()
}
class RepositorioDeHerois {
+salvar(Heroi heroi)
+buscarTodos() List<Heroi>
+atualizar(Heroi heroi)
+excluir(int id)
}
Personagem <|-- Heroi
Personagem <|-- Monstro
Heroi "1" -- "1" Inventario : possui
Inventario "1" o-- "*" Item : contém
Item <|-- Espada
Item <|-- PocaoVida
Equipavel <|.. Espada
Batalha ..> Heroi
Batalha ..> Monstro
RepositorioDeHerois ..> Heroi
Legenda:
-
<<Abstract>>: Classe ou método abstrato. -
<<Interface>>: Interface. -
<|--: Herança (Ex:Heroié umPersonagem). -
--: Associação (Ex:Heroipossui umInventario). -
o--: Composição (Ex:Inventarioé composto deItem). -
<|..: Implementação de interface (Ex:EspadaimplementaEquipavel). -
..>: Dependência (Ex:Batalhadepende deHeroi).