classDiagram
  class P {
    name : str
    \_\_init\_\_(name: str)
  }
  class PrivateAttr {
    \_\_x
    \_\_init\_\_()
  }
  class ProtectedAttr {
    _x
    \_\_init\_\_()
  }
  class PublicAttr {
    x
    \_\_init\_\_()
  }
  class SpecialAttr {
    \_\_x\_\_
    \_\_init\_\_()
  }
  P --* PrivateAttr : \_\_x
  P --* ProtectedAttr : _x
  P --* PublicAttr : x
  P --* SpecialAttr : \_\_x\_\_
