4 research outputs found

    Conflict Resolution using Derived Classes

    Get PDF
    Common object models select method implementations based on the class the receiver belongs to. If an object belongs to several classes without a most specific one, more than one implementation is applicable for a method call. We present a conflict resolution strategy to get exactly one implementation for each call. This is achieved by adding suitable derived classes with method redefinitions

    Class and Type Hierarchies: Extension, Constraining, and Roles

    Get PDF
    With object-orientation, we model the world with objects and group objects with similar properties into classes. There are then two ways to build up a hierarchy of classes: extension adds new properties to create a subclass, while constraining restricts the values of existing properties. Programming languages support only subclassing by extension, but databases offer also subclassing by constraining via selection views. However, constraining is considered not type-safe because an object may change to no longer meet the selection criteria, thus leaving the view and dropping its type; references of this type to this object will then become invalid. We show that support for roles allows both modes to be combined into a database programming language. Classes defined by constraining are a special case of role classes, so supporting roles allows for constraining. Type-safety is achieved by using relationships instead of references
    corecore