Professional Documents
Culture Documents
Abstraction Mechanism Group 2
Abstraction Mechanism Group 2
Abstraction Mechanism Group 2
In Computer Science
Presented by Group 2
Oyundoyin Temitayo E. (20N02055)
Okoro Kelechi(20N02043)
Abstraction is a mechanism to’ hide irrelevant details and represent only the essential features
so that one can focus on important things at a time; It allows managing complex systems by
concentrating on the essential features only
Abstraction in computer science is the process of removing elements of a code or program that
aren't relevant or that distract from more important elements. Abstraction refers to looking at
something to maintain the general form or meaning while reducing the presence of specific
details. Abstraction allows computer programmers and users to interact with the necessary
components without conceptualizing the entire computer system.
Abstraction is also used to create functions to camouflage most of the mechanisms driving the
function. That doesn't mean the process of abstraction is the same as encapsulation or
information hiding (i.e., simply putting the implementation details of a function behind an
interface). What makes abstraction useful in this context is that it allows developers to create
functions that can be updated or improved without disrupting the application and be used in
other places. For example, while driving a car, a driver only knows the essential features to
drive a car such as how to use clutch, brake, accelerator, gears, steering, etc., and least bothers
about the internal details of the car like motor, engine, wiring, etc.
Abstraction can be of two types, namely, data abstraction and control abstraction. Data
abstraction means hiding the details about the data and control abstraction means hiding the
implementation details. risk in software development.
In programming, it's a good idea to not only separate data from functionality, but also reduce
the complexity of data. Data abstraction is the process of creating simple abstract data types,
or classes, to hide unnecessary details. Simplification makes different-but-related data types
with multiple attributes easier to access and manage, and gives different systems a common
language for talking about an object even if they act on that object in very different ways.
Control flow is a way of describing the order in which function calls are executed. Code runs in
the order it's written unless a programmer introduces control structures like conditionals or
loops to change the order of execution. Control flow abstraction involves applying the
principles of abstraction to a set of operations. The program fragment is designed around a
function rather than its implementation in a particular application, so it's available for reuse.
Subroutines are a good example of control flow abstraction in action.
In computer science, you might have a sort algorithm that works on linear data
structures (e.g., lists). You can sort array-backed lists, linked lists, or other lists. Your
list might be made up of five items or five hundred. The code isn't tied to specific use
cases, but to the idea of 'sorting'. Put simply, you don't have to code one sort algorithm
for five-item lists and another for five hundred-item lists because you've tied
functionality to an abstraction.
APIs are a type of abstraction you might be familiar with. An API is an intermediary that
allows applications to communicate but abstracts the details of what is being
communicated and how—simplifying the process of application-to-application
communication and providing a level of security.