Type-exp of attributes, operations and parameters may be primitive or class name. Primitive type operations are already implemented, cannot change these implementations. Class type operations must be implemented by methods before use. Primitive type attributes hold values while class type attributes hold references.