i need example for java abstraction. where we use
abstraction and why we need abstraction.
Answer Posted / pushpa
Abstraction is the hiding of information behind other,
usually simpler, information. In programming, abstraction
is often used to hide implementation or system details
behind a simple interface. For example, in the standard
C library, we open a disk file with fopen(); this hides
the details of disk I/O and system calls behind the
abstraction named "fopen".
In Java, abstraction is used specifically in the Object
Oriented Programming (OOP) sense: hiding the details of
the implementation of an object behind the interface
composed of its methods.
For example, the Java Collections Framework defines the
abstraction called java.util.Map. It is an abstract view
of a software object that maps from one set of objects
into another. The class java.util.TreeMap implements the
Map abstraction.
Abstraction in Java is mostly implemented with interfaces
and abstract classes, but you can actually implement it
anywhere that you hide details behind a method.
Here is a simple example. The abstraction of a factorial
of a positive integer N is that it is the product of N
times the factorial of (N-1). The factorial of 1 is 1.
Exactly how we compute the product is irrelevant, all that
matters is that our code obey the factorial abstraction.
public class Factorial {
public static long factorial(int x) {
if (x < 1) throw new RuntimeException("Bad X");
if (x == 1) return 1L;
else {
long y;
y = 1;
while(x > 1) {
y = y * x;
x = x - 1;
}
return y;
}
}
}
So, in this example, we computed the factorial in a
slightly different way than the definition, but it
always gives the right answer! We've hidden the details
behind an abstraction.
You can learn more about abstraction in OOP from these
articles:
http://www.kbcafe.com/articles/OOP.Concepts.pdf
http://www.campusprogram.com/reference/en/wikipedia/a/ab/abstraction__computer_s...
http://javaboutique.internet.com/tutorials/JavaOO/index.html
Is This Answer Correct ? | 2 Yes | 6 No |
Post New Answer View All Answers
How many inner classes can a class have?
What is meant by nested loop?
How does thread synchronization occurs inside a monitor?
Name the components that are termed to be Heavy-weight component but available in Light-weight components?
What is the purpose of final keyword and when to use it?
What is the different types of functions?
What is final?
Can you pass by reference in java?
What are the new features in java 8? Explain
Why to use nested classes in java? (Or) what is the purpose of nested class in java?
What do you mean by local class?
Is 9 a prime number?
Explain the difference between transient and volatile in java?
Why does java have two ways to create child threads? Which way is better?
What are singleton services?