Entry
Reader's guide
Entries A-Z
Subject index
Object Orientation (OO)
Object orientation (OO) is an approach to modeling and software engineering that encapsulates both data and the algorithms that operate on them into a single packet or object that is representative of some phenomenon. These objects in effect know what they are (their attributes) and what they can do (their algorithms, called methods) in response to messages from the outside world.
Objects are organized into classes, which can have an inheritance structure whereby they have parents from whom they can inherit both attributes and methods, and they may have children, called subclasses, to which they pass on their attributes and methods. It is also possible to have multiple inheritances in which there are two parents for a single child. Classes that cannot be instantiated are called abstract classes (e.g., it is not possible to have a generic car). An example of a class that can create an instance is a Maserati class of car.
An interesting characteristic of OO is the ability to create new data types, a concept known as abstraction. Traditional computing languages have a set of data types to describe data, such as integers, real, character, and so on. To create more complex features, records are created that are a composite of these types. The problem is that these records cannot be treated like fundamental data types. So, it would not make sense to have a list (a data structure containing a set of objects) that includes a person record, a real number, and a character. In the OO world, this is not a problem, as all objects are treated the same. Thus, any combination is possible, including combining the fundamental data types and more complex ones.
The concept of encapsulation is central to OO. Encapsulation is the concept that objects combine information and behavior in a single packet and that data within the object can be accessed only through messages to the object. This has three consequences: (1) Encapsulation provides a well-defined and strictly enforced interface to an object; (2) it enhances data integrity by screening requested changes in the object's attributes; and (3) it is possible to change the internal code for the method without affecting the interface (i.e., the message stays the same, while the method initiated may be different).
Another powerful principle of OO is polymorphism. This is the ability of multiple object classes to understand the same message. For example, consider the following object methods that define how area is determined for several different geometries:

These methods can then be used by a single set of generic code that defines the general method for determining area for any kind of geometry:

Thus, polymorphism enables the addition of new object classes with minimal change to existing software code. If we add a new object triangle, no change in the code is required. All that is needed is to add the object to the code and write the appropriate method for the area of a triangle.
Some OO languages do not support multiple inheritances and have come up with a solution that enables multiple classes to have the same set of behaviors in common. The description of this set is called an interface. An interface is like a contract that says, “If you want to provide this set of capabilities, you need to implement these methods with these properties and indices and provide support for these events.” Interfaces have become a powerful tool in OO programming languages and another tool in the OO “toolbox.”
...
- Analytical Methods
- Analytical Cartography
- Cartographic Modeling
- Cost Surface
- Cost-Benefit Analysis
- Data Mining, Spatial
- Density
- Diffusion
- Ecological Fallacy
- Effects, First- and Second-Order
- Error Propagation
- Exploratory Spatial Data Analysis (ESDA)
- Fragmentation
- Geocoding
- Geodemographics
- Geographical Analysis Machine (GAM)
- Geographically Weighted Regression (GWR)
- Georeferencing, Automated
- Geostatistics
- Geovisualization
- Image Processing
- Interpolation
- Intervisibility
- Kernel
- Location-Allocation Modeling
- Minimum Bounding Rectangle
- Modifiable Areal Unit Problem (MAUP)
- Multicriteria Evaluation
- Multidimensional Scaling (MDS)
- Multivalued Logic
- Network Analysis
- Optimization
- Outliers
- Pattern Analysis
- Polygon Operations
- Qualitative Analysis
- Regionalized Variables
- Slope Measures
- Spatial Analysis
- Spatial Autocorrelation
- Spatial Econometrics
- Spatial Filtering
- Spatial Interaction
- Spatial Statistics
- Spatial Weights
- Spatialization
- Spline
- Structured Query Language (SQL)
- Terrain Analysis
- Cartography and Visualization
- Analytical Cartography
- Cartograms
- Cartography
- Choropleth Map
- Classification, Data
- Datum
- Generalization, Cartographic
- Geovisualization
- Isoline
- Legend
- Multiscale Representations
- Multivariate Mapping
- National Map Accuracy Standards (NMAS)
- Normalization
- Projection
- Scale
- Shaded Relief
- Symbolization
- Three-Dimensional Visualization
- Tissot's Indicatrix
- Topographic Map
- Virtual Environments
- Visual Variables
- Conceptual Foundations
- Accuracy
- Aggregation
- Cognitive Science
- Direction
- Discrete versus Continuous Phenomena
- Distance
- Elevation
- Extent
- First Law of Geography
- Fractals
- Geographic Information Science (GISci)
- Geographic Information Systems (GIS)
- Geometric Primitives
- Isotropy
- Layer
- Logical Expressions
- Mathematical Model
- Mental Map
- Metaphor, Spatial and Map
- Nonstationarity
- Ontology
- Precision
- Representation
- Sampling
- Scale
- Scales of Measurement
- Semantic Interoperability
- Semantic Network
- Spatial Autocorrelation
- Spatial Cognition
- Spatial Heterogeneity
- Spatial Reasoning
- Spatial Relations, Qualitatitve
- Topology
- Uncertainty and Error
- Data Manipulation
- Data Modeling
- z-Values
- Computer-Aided Drafting (CAD)
- Data Modeling
- Data Structures
- Database Management System (DBMS)
- Database, Spatial
- Digital Elevation Model (DEM)
- Discrete versus Continuous Phenomena
- Elevation
- Extensible Markup Language (XML)
- Geometric Primitives
- Index, Spatial
- Integrity Constraints
- Layer
- Linear Referencing
- Network Data Structures
- Object Orientation (OO)
- Open Standards
- Raster
- Scalable Vector Graphics (SVG)
- Spatiotemporal Data Models
- Structured Query Language (SQL)
- Tessellation
- Three-Dimensional GIS
- Topology
- Triangulated Irregular Networks (TIN)
- Virtual Reality Modeling Language (VRML)
- Design Aspects
- Geocomputation
- Geospatial Data
- Accuracy
- Address Standard, U.S.
- Attributes
- BLOB
- Cadastre
- Census
- Census, U.S.
- Computer-Aided Drafting (CAD)
- Coordinate Systems
- Data Integration
- Datum
- Digital Chart of the World (DCW)
- Digital Elevation Model (DEM)
- Framework Data
- Gazetteers
- Geodesy
- Geodetic Control Framework
- Geography Markup Language (GML)
- Geoparsing
- Georeference
- Global Positioning System (GPS)
- Interoperability
- LiDAR
- Linear Referencing
- Metadata, Geospatial
- Metes and Bounds
- Minimum Mapping Unit (MMU)
- National Map Accuracy Standards (NMAS)
- Natural Area Coding System (NACS)
- Photogrammetry
- Postcodes
- Precision
- Projection
- Remote Sensing
- Scale
- Semantic Network
- Spatial Data Server
- Standards
- State Plane Coordinate System
- TIGER
- Topographic Map
- Universal Transverse Mercator (UTM)
- Organizational and Institutional Aspects
- Address Standard, U.S.
- Association of Geographic Information Laboratories for Europe (AGILE)
- Canada Geographic Information System (CGIS)
- Census, U.S.
- Chorley Report
- Coordination of Information on the Environment (CORINE)
- COSIT Conference Series
- Data Access Policies
- Data Warehouse
- Digital Chart of the World (DCW)
- Digital Earth
- Digital Library
- Distributed GIS
- Enterprise GIS
- Environmental Systems Research Institute, Inc. (ESRI)
- ERDAS
- Experimental Cartography Unit (ECU)
- Federal Geographic Data Committee (FGDC)
- Framework Data
- Geomatics
- Geospatial Intelligence
- GIS/LIS Consortium and Conference Series
- Google Earth
- GRASS
- Harvard Laboratory for Computer Graphics and Spatial Analysis
- IDRISI
- Intergraph
- Interoperability
- Land Information Systems
- Life Cycle
- Location-Based Services (LBS)
- Manifold GIS
- MapInfo
- Metadata, Geospatial
- MicroStation
- National Center for Geographic Information and Analysis (NCGIA)
- National Geodetic Survey (NGS)
- National Mapping Agencies
- Open Geospatial Consortium (OGC)
- Open Source Geospatial Foundation (OSGF)
- Open Standards
- Ordnance Survey (OS)
- Quantitative Revolution
- Software, GIS
- Spatial Data Infrastructure
- Spatial Decision Support Systems
- Standards
- U.S. Geological Survey (USGS)
- University Consortium for Geographic Information Science (UCGIS)
- Web GIS
- Web Service
- Societal Issues
- Access to Geographic Information
- Copyright and Intellectual Property Rights
- Critical GIS
- Cybergeography
- Data Access Policies
- Digital Library
- Economics of Geographic Information
- Ethics in the Profession
- Geographic Information Law
- Historical Studies, GIS for
- Liability Associated With Geographic Information
- Licenses, Data and Software
- Location-Based Services (LBS)
- Privacy
- Public Participation GIS (PPGIS)
- Qualitative Analysis
- Quantitative Revolution
- Spatial Literacy
- Loading...
Get a 30 day FREE TRIAL
-
Watch videos from a variety of sources bringing classroom topics to life
-
Read modern, diverse business cases
-
Explore hundreds of books and reference titles
Sage Recommends
We found other relevant content for you on other Sage platforms.
Have you created a personal profile? Login or create a profile so that you can save clips, playlists and searches