Example: A ring.
We cannot implement:
- addition
- negation
- multiplication
- inversion
- "zero"
- "one"
- check if zero
We can implement:
- subtraction (because of addition and negation)
- exponantiation a
- embedding of Z, Q.
- check for equality
- polynomials over this ring
- etc.
Object Oriented programming allows having objects which do not implement everything!(Concept of overriding abstract methods)