Data Abstraction (L13)
Abstraction Barrier
Seperate those:
- How data are represented (as parts)
- How data are manipulated (as units)
e.g. Rational Numbers ADT
Parts of the program that... | Treat rationals as... | Using only... |
---|---|---|
Use rational numbers to perform computation | whole data values | add_rational , mul_rational , rationals_are_equal , print_rational |
Create rationals or implement rational operations | numerators and denominators | rational , numer , denom |
Implement selectors and constructor for rationals | two-element lists | list literals and element selection |