¿Qué es un Diagrama de Clases?¶
Un diagrama de clases es una representación visual de las clases, atributos, métodos y relaciones entre clases en un sistema orientado a objetos. Es parte esencial de UML (Lenguaje Unificado de Modelado) y se usa para el diseño y la documentación de software.
¿Qué es PlantUML?¶
PlantUML es una herramienta que permite crear diagramas a partir de texto plano. Es ideal para programadores porque permite versionar diagramas y mantenerlos junto al código fuente.
Estructura básica de un archivo PlantUML¶
@startuml
' Aquí van las definiciones de clases, interfaces y relaciones
@endumlEstructura básica
Todo diagrama comienza con @startuml y termina con @enduml.
Cómo definir una clase¶
class Persona {
-nombre: String
-edad: int
+hablar(): void
}Definición de clase con atributos y métodos
Table 1:Convenciones de visibilidad
| Símbolo | Visibilidad |
|---|---|
+ | público (public) |
- | privado (private) |
# | protegido (protected) |
Interfaces¶
interface Volador {
+volar(): void
}Definición de interfaz
Herencia y relaciones¶
Herencia (generalización)¶
class Animal
class Perro extends AnimalHerencia con extends
O bien con flechas:
Animal <|-- PerroImplementación de interfaz¶
Volador <|.. PájaroAsociación¶
Persona --> DireccionComposición¶
Auto *-- MotorAgregación¶
Departamento o-- ProfesorClase abstracta¶
abstract class Figura {
+area(): float
}Clase abstracta
Ejemplo completo¶
@startuml
abstract class Figura {
+area(): float
}
class Rectangulo {
-base: float
-altura: float
+area(): float
}
class Circulo {
-radio: float
+area(): float
}
Figura <|-- Rectangulo
Figura <|-- Circulo
@endumlDiagrama de clases completo
Estilos mínimos (opcional)¶
skinparam classAttributeIconSize 0
skinparam shadowing true
skinparam classFontColor DarkGreenConfiguración de estilos
Estos parámetros cambian el estilo visual del diagrama.
Buenas prácticas¶
package "Sistema de Usuarios" {
class Usuario
class Rol
}Agrupación con packages