Z++ (pronounced zed, or zee in American pronunciation, plus plus) is an object-oriented extension to the Z specification language.
Z++ allows for the definition of classes, and the relation of classes through inheritance, association, or aggregation. The primary construct of Z++ is a class. A Z++ class consists of a number of clauses which are optional.
CLASS ClassName [OWNS List_of_attributes] [FUNCTIONS constant_definitions] [TYPE type_declaration] [ENTENDS list_of_super_classes] [OPERATIONS list_of_state_change_operations_definitions] [RETURNS list_of_query_operations_definitions] [ACTIONS all_operations_declarations] [INVARIANT predicates] [HISTORY RTL_predicates] END CLASS