Theory of computationː Abstraction
- representational abstraction is a representation arrived at by removing unnecessary details
- abstraction by generalisation or categorisation is a grouping by common characteristics to arrive at a hierarchical relationship of the 'is a kind of' type.
- The process of hiding all details of an object that do not contribute to its essential characteristics.
- The result of abstracting away the actual values used in any particular computation is a computational pattern or computational method – a procedure.
Procedure sqr(int: number)
Text in bold is the result of a procedural abstraction which is the procedure itself without the actual value of number in this case.
- The result of a procedural abstraction is a procedure, not a function. To get a function requires yet another abstraction, which disregards the particular computation method and this is a functional abstraction.
- Data abstraction is a methodology that enables us to isolate how a compound data object is used
from the details of how it is constructed. For example, a stack could be implemented as an array and a pointer for top of stack.
- Details are removed until the problem is represented in a way that is possible to solve because the problem reduces to one that has already been solved.
This is the process of creating a generic model or template by grouping common characteristics and removing unnecessary details.
This is the process of hiding all details of an object that do not contribute to its essential characteristics.