Editor de Diagramas Mermaid: Crear Diagramas como Código

Diagrama de Clases Mermaid: Crear Diagramas UML de Clases

Crea diagramas de clases UML con sintaxis Mermaid. Clases, interfaces, herencia, composición y modificadores de visibilidad. Vista previa en vivo.

100% del lado del cliente. Tus datos nunca salen de tu navegador.

Plantillas:

Cargando editor...

La vista previa del diagrama aparecerá aquí...

Herramientas Relacionadas

Sintaxis de Diagrama de Clases Mermaid

Los diagramas de clases muestran la estructura de un sistema mapeando clases, sus atributos y métodos, y las relaciones entre ellas. Es el diagrama UML estándar para documentar diseños orientados a objetos, bibliotecas cliente de API y modelos de dominio. Mermaid los procesa a partir de una descripción textual que se lee como una versión simplificada del código mismo.

Definiendo Clases

classDiagram
    class UserService {
        -UserRepository repo
        -Logger logger
        +getUser(id) User
        +createUser(data) User
        +deleteUser(id) void
        -validate(data) bool
    }

Cada línea dentro del bloque de clase define un miembro. El formato es visibilidad nombre tipo para campos y visibilidad nombre(parámetros) tipoRetorno para métodos.

Relaciones

Las relaciones se dibujan entre clases usando sintaxis de flecha:

classDiagram
    Animal <|-- Dog : extends
    Animal <|-- Cat : extends
    Dog *-- Leg : has
    Owner o-- Pet : owns
    Kennel --> Dog : houses
    Animal ..> Food : depends on

Tipos de Relación

SintaxisTipoSignificado
`A <— B`Herencia
`A <.. B`Realización
A *-- BComposiciónB es parte de A, ciclo de vida dependiente
A o-- BAgregaciónB pertenece a A, puede existir solo
A --> BAsociaciónA referencia B
A ..> BDependenciaA usa B temporalmente

Anotaciones

Marca clases como abstractas, interfaces, enumeraciones o cualquier estereotipo personalizado:

classDiagram
    class Shape {
        <<abstract>>
        +área() double
        +perimeter() double
    }
    class Drawable {
        <<interface>>
        +draw(canvas) void
    }

Genericos

Usa tilde en lugar de angulares:

classDiagram
    class Repository~T~ {
        +findById(id) T
        +save(entity T) T
    }

Para documentar como estas clases interactuan en tiempo de ejecución, usa la herramienta Diagrama de Secuencia Mermaid.