Object-orientation
- What is object-orientation?
- Provide the ability to define, store, and manipulate complex objects
without having to decompose into simple data types
- What is needed?
- User-defined abstract data types (ADT):
- define new data types such as polygon, line, and point
- define methods for manipulating such objects
- Constructed types: Ability to build new data types from atomic data types
- Inheritance of common characteristics of superclasses by subclasses
- inheritance is supported directly
- allow type definitions to be reused and refined easily
- a map is a polygon with area, perimeter, and boundary
but has additional characteristics than a general polygon
such as name, population, governor,...
- hierarchies of collections of similar objects
- country, state, county, city,...
- Two approaches:
- ORDBMS: extend relational DBMS with added functionality
- Oracle 8, UniSQL, POSTGRES, O2
- OODBMS: alternative to RDBMS--heavily influenced by OO programming
- ORION, ObjectStore, GemStone, Ontos