类图演示
类图演示
Mermaid 类图用于展示面向对象设计中的类结构和关系。
基础类图
classDiagram
class Animal {
+String name
+int age
+makeSound()
}
class Dog {
+String breed
+bark()
}
class Cat {
+String color
+meow()
}
Animal <|-- Dog
Animal <|-- Cat
PowerWiki 架构类图
classDiagram
class PowerWiki {
-config: Config
-gitManager: GitManager
-markdownParser: MarkdownParser
+start()
+sync()
}
class Config {
+String gitRepo
+int port
+String siteTitle
+load()
+validate()
}
class GitManager {
-repoPath: String
+clone()
+pull()
+getFiles()
}
class MarkdownParser {
-marked: Marked
-highlightjs: HighlightJS
+parse(content)
+extractFrontmatter()
}
class CacheManager {
-cache: Map
+get(key)
+set(key, value)
+clear()
}
PowerWiki --> Config
PowerWiki --> GitManager
PowerWiki --> MarkdownParser
PowerWiki --> CacheManager
用户认证系统
classDiagram
class User {
+String id
+String username
+String email
-String password
+login()
+logout()
}
class Admin {
+String[] permissions
+manageUsers()
+viewLogs()
}
class Guest {
+String sessionId
+browse()
}
class AuthService {
+authenticate(username, password)
+authorize(user, resource)
+generateToken(user)
}
User <|-- Admin
User <|-- Guest
AuthService ..> User : uses
设计模式 - 单例模式
classDiagram
class Singleton {
-static instance: Singleton
-Singleton()
+static getInstance()
+doSomething()
}
note for Singleton "私有构造函数\n确保只有一个实例"
设计模式 - 工厂模式
classDiagram
class Product {
<<interface>>
+use()
}
class ConcreteProductA {
+use()
}
class ConcreteProductB {
+use()
}
class Factory {
+createProduct(type) Product
}
Product <|.. ConcreteProductA
Product <|.. ConcreteProductB
Factory ..> Product : creates
设计模式 - 观察者模式
classDiagram
class Subject {
-observers: List~Observer~
+attach(observer)
+detach(observer)
+notify()
}
class Observer {
<<interface>>
+update()
}
class ConcreteObserverA {
+update()
}
class ConcreteObserverB {
+update()
}
Subject o-- Observer
Observer <|.. ConcreteObserverA
Observer <|.. ConcreteObserverB
数据库模型
classDiagram
class Article {
+String id
+String title
+String content
+Date createdAt
+Date updatedAt
+save()
+delete()
}
class Author {
+String id
+String name
+String email
+getArticles()
}
class Tag {
+String id
+String name
+getArticles()
}
class Category {
+String id
+String name
+getArticles()
}
Author "1" --> "*" Article : writes
Article "*" --> "*" Tag : has
Article "*" --> "1" Category : belongs to
关系类型说明
classDiagram
classA <|-- classB : 继承 (Inheritance)
classC *-- classD : 组合 (Composition)
classE o-- classF : 聚合 (Aggregation)
classG <-- classH : 关联 (Association)
classI -- classJ : 链接 (Link)
classK <|.. classL : 实现 (Realization)
classM <.. classN : 依赖 (Dependency)
可见性修饰符
classDiagram
class Example {
+public attribute
-private attribute
#protected attribute
~package attribute
+publicMethod()
-privateMethod()
#protectedMethod()
~packageMethod()
}
提示: 类图适合展示面向对象设计、系统架构、设计模式等。使用不同的关系类型表达类之间的关联。
更新时间:2026年2月24日