Assignment exist without workobjects: An assignment cannot exist without a work object, assignments can only be created for a flow or case, So they exist with work object.
worobject exist without assignement: yes, workobjects can exist without assignments, there can be cases where there isnt any need of an assignment. Cases like which have no assignment shape or all automated steps.
Assignment is a pause in the flow and it signifies that a person or external system must act on a work object before the flow can progress.
An assignment is an instance of a class derived from the Assign- class.
In certain situations assignments can be processed completely or in part by a Process Commander agent rather than by a person
Assignments are created by a flow operating on a work object, but they are not themselves part of the work object.
The system saves data relating to an assignment in instances of the Assign-Workbasket class, Assign-Worklist class, or other subclasses of the Assign- base class. Means whenever a workobject reaches an assignment, it creates an instance of respective Assign-* class. This instance stores all the assignment pertaining information rather than work object itself.
Work object is an single object which cannot hold other object. In versions of Pega 7, think of work objects as "cases". Cases are instances of your case types.
At a high-level, case type instance = work object = work type instance. Technically, a work type class will directly inherit Work-Object-, and a case type class will directly inherit Work-Cover-.