Skip to content

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
Loading

Legenda:

  • <<Abstract>>: Classe ou método abstrato.
  • <<Interface>>: Interface.
  • <|--: Herança (Ex: Heroi é um Personagem).
  • --: Associação (Ex: Heroi possui um Inventario).
  • o--: Composição (Ex: Inventario é composto de Item).
  • <|..: Implementação de interface (Ex: Espada implementa Equipavel).
  • ..>: Dependência (Ex: Batalha depende de Heroi).
Clone this wiki locally