Theory of computationː Abstraction
IntroductionEdit
AbstractionEdit
- 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.
Information HidingEdit
- The process of hiding all details of an object that do not contribute to its essential characteristics.
Procedural AbstractionEdit
- The result of abstracting away the actual values used in any particular computation is a computational pattern or computational method – a procedure.
Exercise: Example of a Procedural Abstraction
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. |
Functional AbstractionEdit
- 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 AbstractionEdit
- 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.
Problem Abstraction/ReductionEdit
- 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.
Exercise: Abstraction What is abstraction?
Answer:
This is the process of creating a generic model or template by grouping common characteristics and removing unnecessary details.
|
Exercise: Information Hiding What is Information Hiding?
Answer: This is the process of hiding all details of an object that do not contribute to its essential characteristics. |