Hi,

Please tell me real time example for Interface as well as Abstract
Class.No related to programming

With regards
Arun Kumar

On Thu, Oct 14, 2010 at 1:34 AM, Mihai DINCA <[email protected]> wrote:
>  Hi Naga
>
> There are two situations when you would need an interface:
>
> 1. You create several classes that have a common apparent behavior but they
> are differently implemented. You wish to let the programmer that uses your
> classes make abstraction of the way you implemented them.
>
> For example, "container" classes (lists, dynamic arrays ...) define generic
> interfaces (see, for example, java.util.List) and implementation classes
> optimized for some particular operations (see for e.g. java.util.ArrayList
> and java.util.LinkedList). You can write your program using the interface
> and calling the interface defined methods.
>
> Of course, you will have to choose somewhere the actual implementation you
> want to use, but it can be a sole "new" statement. The day you will want to
> used a better suited implementation, you will need to change only the sole
> "new" statement (in more sophisticated cases, a "factory" allows to generate
> an implementation instance totally transparent for the code that uses only
> the interface).
>
> 2. You write some code that has to use a class written by someone else that
> is not available when you write your code. In this case you  create an
> interface, use the interface in your code and ask the other programmer to
> implement your class.
>
> For e.g. the servlet container "knows" how to use objects of the type
> "javax.servlet.Servlet". The actual servlets are not available when the
> container is coded. The actual servlets, written later, will just need to
> implement the "javax.servlet.Servlet" interface.
>
> In the latest case, you might imagine that there is a typical implementation
> for some necessary methods. You might wish in this case to create an
> abstract class that defines the necessary methods (like an interface) but
> directly implements those for which there is a "default" typical
> implementation. In this way, the programmer that has to write an actual
> implementation will spare time by writing only the methods that doesn't use
> the "default" behavior.
>
> For e.g. javax.servlet.http.HttpServlet is an abstract class already
> providing "default" implementation for some methods. The HttpServlet
> programmer doesn't need to implement all the methods, but only those
> different from the "default" ones.
>
> Another example: AWT (graphic interface) uses "listener" classes whose
> methods are called on specific user events. For each group of (similar)
> events, AWT defines an interface that has to be implemented by the actual
> event listener. For e.g. any mouse event (mouse button pressed, mouse button
> released ...) triggers one or another of the methods of the listener
> implementing the interface "java.awt.event.MouseListener".
>
> But if you are interested in only one mouse event (such as the mouse click)
> and you don't care about the other events, you will still need to write the
> code for all the methods requested by the interface. In order to simplify
> the work, the abstract class "MouseAdapter" provide a default implementation
> for all the methods requested by the interface. Instead of implementing the
> interface and write all the methods (even the unnecessary ones), you can
> extend the abstract class and override only the interesting method.
>
> Hope it helps
> Mihai
>
>
>
>
>
> Le 13/10/2010 13:12, Naga Subrahmanyam a écrit :
>>
>> In which situation,we can decide the use of Abstract Class or Interface
>>
>
> --
> To post to this group, send email to
> [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://groups.google.com/group/javaprogrammingwithpassion?hl=en

-- 
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/javaprogrammingwithpassion?hl=en

Reply via email to