@startuml
class Form {
    #elements : array|FormElement[]
    +render($indent = 0 : int)
    +addElement(FormElement $element)
}

abstract class FormElement {
    +render($indent = 0 : int)
}

class InputElement {
    +render($indent = 0 : int)
}

class TextElement {
    +render($indent = 0 : int)
}

FormElement <|.. TextElement
FormElement <|.. InputElement
FormElement <|.. Form
@enduml