XBUP - eXtensible Binary Universal Protocol - Documentation
[Up]

# Object Abstraction

This document is part of the eXtensible Binary Universal Protocol project documentation. Provides description of object abstraction concept which might be used with block type specifications.

## Object Abstraction

While lower levels are mostly relational on it's data representation nature, it would be useful to have also capabilities of object-oriented programming paradigm such as data abstraction, encapsulation, messaging, modularity, polymorphism, and inheritance.

As there are various nuances of object concept, only subset of object-oriented programming will be used for specification on this level.

- Immutable classes only
- Free methods
- No visibility (everything is public)

## Type of Specification

As for block specification, there should be possible to define what type of data it represents. Types should include following items:

- Type (Pure abstract class)
- Class (Specific implementation of type)
- Transformation (Free Method)
- Constant

Type might have parameters and in such case is considered as similar to generic classes.

## Example

Homepage: http://xbup.org
License: GNU Free Documentation License (FDL)