What is the definition of Abstraction in relation to computer science?
-
-
Answer:
Consider a t-shirt How you see it - a T-shirt!! How a tailor sees it - a cloth, some pockets, a few buttons and some stitches to put all of these together. How a cloth manufacturer sees it - many threads, some colors (dyes) and a loom to put all these threads together. How a thread manufacturer sees it - some cotton plants, a machine to extract the fibers, a machine to twist them into thread... . . . and so on.. If you see at each level, the person has no knowledge about how the material he is using, came into being. All he knows is what to do with it. This is abstraction - hiding the details and showing them only to those concerned. In the above case you only need the t-shirt, you are not concerned how it was made...
Dhruv Chaudhary at Quora Visit the source
Other answers
Something that is an 'abstraction' is context free, meaning it applies outside of a 'real' example. Addition is an abstraction. One apple plus one apple is two apples. It could be apples, or oranges, or dogs, or cats, or ideas, or planets. A queue is abstraction. A queue could be a queue of people, places to travel, or nodes on a graph. Classes can be abstractions. They define the core tenets of what a class is, but might not be 'real' until subclassed and implemented (and even used). Layers can be abstractions. Asking for a primitive to be rendered on screen can be context free in discussion, but depending on which graphics rendering library you're using, can be several different things in 'reality'. So, so long as the 'reality' of the situation is hidden from you, and you can still move forward with your ideas, you're working with an abstraction.
Michael Nguyen
It's a layer in which You perceive the problem. For a trivial example: When You want to boil some water You press a button on a kettle. It closes the electronical circuit and due to high resistivity of the metal board it produces heat which is absorbed by the water. But You don't need to know all of that to boil the water. You just need to know that when You click the button the water will evenually start to boil. Everything underneath is not important for You to solve the problem. That's Your layer of abstraction.
Krzysztof Wende
Related Q & A:
- What kinds of jobs can you get with a computer science degree?Best solution by Quora
- What can you do with a Ph.D in computer science?Best solution by scienceforums.net
- What is the best advice to give to recent computer science grad, having no internships or past experience in this field?Best solution by Quora
- What can I do with an Associate degree in Computer Science?Best solution by Yahoo! Answers
- What Job Opportunities Are Available With a Major in Computer Science?Best solution by Quora
Just Added Q & A:
- How many active mobile subscribers are there in China?Best solution by Quora
- How to find the right vacation?Best solution by bookit.com
- How To Make Your Own Primer?Best solution by thekrazycouponlady.com
- How do you get the domain & range?Best solution by ChaCha
- How do you open pop up blockers?Best solution by Yahoo! Answers
For every problem there is a solution! Proved by Solucija.
-
Got an issue and looking for advice?
-
Ask Solucija to search every corner of the Web for help.
-
Get workable solutions and helpful tips in a moment.
Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.