This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
• Generalization is the process of viewing several different objects in a higher level, abstract form.– Generalization suppresses the differences between objects and
emphasizes the similarities.
• Specialization is the process of viewing an object as a more refined, specialized object. – Specialization is the opposite of generalization.
– Specialization emphasizes the differences between objects.
• An instance of a subclass is an instance of its superclass (also known as the ISA relationship).– A Celebrity ISA Person.
• Due to the ISA relationship, an instance of a subclass inherits attributes from it superclass.– A Celebrity inherits ssn, name, phone, gender, and address from
Person.
– A Model inherits birthDate from Celebrity.
• The inheritance of attributes is a transitive relationship.– If a Model ISA Celebrity and a Celebrity ISA Person, then a Model
inherits ssn, name, phone, gender, and address from Person.
• If the specialization attribute at the superclass level is single-valued, membership at the subclass level is always disjoint.
• If the specialization attribute at the superclass level is multi-valued, membership at the subclass level is always overlapping.
• If the specialization is total, the attribute value in the superclass is required.
• If the specialization is partial, the specialization attribute value in the superclass is optional. The presence of a value, however, implies automatic insertion at the subclass level.
• Deleting an entity from a superclass implies automatic deletion of the entity from all subclasses.
• Deleting an entity from a subclass does not imply deleting the entity from its superclass. However, attributed-defined constraints must not be violated.
• At the superclass level, changing the value of an attribute used for attribute-defined specialization requires appropriate changes in subclass membership.
• In a specialization hierarchy, every subclass has only one superclass.
• In a specialization lattice, a subclass can have more than one superclass.– The subclass is referred to as a shared subclass.– A specialization lattice demonstrates multiple inheritance. – A shared subclass must satisfy the multiple inheritance
intersection constraint, where each instance of the shared subclass is an instance of all of its superclasses.
• ISA Constraint - an instance of a subclass must be an instance of its superclass.
• Disjoint Constraint: Disjoint vs. Overlapping subclass membership.
• Completeness Constraint: Total vs. Partial specialization at the subclass level.
• Attribute-Defined Constraint: The value of an attribute at the superclass level determines automatic membership of the instance at the subclass level.
• Multiple Inheritance Intersection Constraint - The instances of a shared subclass must represent the intersection of its superclasses.
• If a subclass can be traced to more than one base superclass, then the subclass is called a category.
• A category represents a union of its superclasses, where an instance of a category subclass must be an instance of at least one superclass, but is not necessarily a member of all superclasses.