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
What is public static void main?
Does constructor creates the object ?
Why do we use return statement?
Can we have static methods in an interface?
Can java hashmap have duplicate keys?
What is the difference between int and integer in java?
How to create a fecelet view?
Difference between character constant and string constant in java ?
How do you use wildcards?
Define the term string pool?
What is bigger kb or mb?
What is the destroy method?
What are the different conditional statements?
What is application tier?
What will happen if there is a default method conflict as mentioned above and we have specified the same signature method in the base class instead of overriding in the existing class ?